30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

08 Mar, 2010

1 commit


02 Mar, 2010

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1341 commits)
    virtio_net: remove forgotten assignment
    be2net: fix tx completion polling
    sis190: fix cable detect via link status poll
    net: fix protocol sk_buff field
    bridge: Fix build error when IGMP_SNOOPING is not enabled
    bnx2x: Tx barriers and locks
    scm: Only support SCM_RIGHTS on unix domain sockets.
    vhost-net: restart tx poll on sk_sndbuf full
    vhost: fix get_user_pages_fast error handling
    vhost: initialize log eventfd context pointer
    vhost: logging thinko fix
    wireless: convert to use netdev_for_each_mc_addr
    ethtool: do not set some flags, if others failed
    ipoib: returned back addrlen check for mc addresses
    netlink: Adding inode field to /proc/net/netlink
    axnet_cs: add new id
    bridge: Make IGMP snooping depend upon BRIDGE.
    bridge: Add multicast count/interval sysfs entries
    bridge: Add hash elasticity/max sysfs entries
    bridge: Add multicast_snooping sysfs toggle
    ...

    Trivial conflicts in Documentation/feature-removal-schedule.txt

    Linus Torvalds
     
  • * 'for-2.6.34' of git://git.kernel.dk/linux-2.6-block: (38 commits)
    block: don't access jiffies when initialising io_context
    cfq: remove 8 bytes of padding from cfq_rb_root on 64 bit builds
    block: fix for "Consolidate phys_segment and hw_segment limits"
    cfq-iosched: quantum check tweak
    blktrace: perform cleanup after setup error
    blkdev: fix merge_bvec_fn return value checks
    cfq-iosched: requests "in flight" vs "in driver" clarification
    cciss: Fix problem with scatter gather elements in the scsi half of the driver
    cciss: eliminate unnecessary pointer use in cciss scsi code
    cciss: do not use void pointer for scsi hba data
    cciss: factor out scatter gather chain block mapping code
    cciss: fix scatter gather chain block dma direction kludge
    cciss: simplify scatter gather code
    cciss: factor out scatter gather chain block allocation and freeing
    cciss: detect bad alignment of scsi commands at build time
    cciss: clarify command list padding calculation
    cfq-iosched: rethink seeky detection for SSDs
    cfq-iosched: rework seeky detection
    block: remove padding from io_context on 64bit builds
    block: Consolidate phys_segment and hw_segment limits
    ...

    Linus Torvalds
     

01 Mar, 2010

1 commit


27 Feb, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (158 commits)
    [SCSI] Fix printing of failed 32-byte commands
    [SCSI] Fix printing of variable length commands
    [SCSI] libsrp: fix bug in ADDITIONAL CDB LENGTH interpretation
    [SCSI] scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list
    [SCSI] scsi_dh_alua: add netapp to dev list
    [SCSI] qla2xxx: Update version number to 8.03.02-k1.
    [SCSI] qla2xxx: EEH: Restore PCI saved state during pci slot reset.
    [SCSI] qla2xxx: Add firmware ETS burst support.
    [SCSI] qla2xxx: Correct loop-resync issues during SNS scans.
    [SCSI] qla2xxx: Correct use-after-free issue in terminate_rport_io callback.
    [SCSI] qla2xxx: Correct EH bus-reset handling.
    [SCSI] qla2xxx: Proper clean-up of BSG requests when request times out.
    [SCSI] qla2xxx: Initialize payload receive length in failure path of vendor commands
    [SCSI] fix duplicate removal on error path in scsi_sysfs_add_sdev
    [SCSI] fix refcounting bug in scsi_get_host_dev
    [SCSI] fix memory leak in scsi_report_lun_scan
    [SCSI] lpfc: correct PPC build failure
    [SCSI] raid_class: add raid1e
    [SCSI] mpt2sas: Do not call sas_is_tlr_enabled for RAID volumes.
    [SCSI] zfcp: Introduce header file for qdio structs and inline functions
    ...

    Linus Torvalds
     

26 Feb, 2010

2 commits


18 Feb, 2010

1 commit

  • After discussing this patch with LSI, I resubmitting with a recommended
    40 second wait for the alternate ioc's initialization to complete.
    --
    Fusion FC chips are two function with some shared resources. During
    initialization of one function its driver inhibits the ability of the
    other function's driver to allocate message frames by clearing its
    "active" flag. Should mid-layer error recovery be initiated for a
    scsi command during this initialization (which can take up to 40 seconds)
    error recovery will escalate to the level of host reset. This host
    reset might fail (as the other function is resetting) resulting in
    all connected targets being taken offline.

    This patch holds off mid-layer error recovery for up to 40 seconds
    to permit initialization of the other function to complete.

    Signed-off-by: Michael Reed
    Acked-by: "Desai, Kashyap"
    Signed-off-by: James Bottomley

    Michael Reed
     

17 Feb, 2010

1 commit


09 Feb, 2010

1 commit


05 Feb, 2010

1 commit


23 Jan, 2010

1 commit


19 Jan, 2010

6 commits


18 Jan, 2010

1 commit

  • Since commit 9d2e9d66a3f032667934144cd61c396ba49f090d
    mptsas driver fails to allocate memory for the MPT chain buffers
    for second LSI adapter on PPC440SPe Katmai platform:
    ...
    ioc1: LSISAS1068E B3: Capabilities={Initiator}
    mptbase: ioc1: ERROR - Unable to allocate Reply, Request, Chain Buffers!
    mptbase: ioc1: ERROR - didn't initialize properly! (-3)
    mptsas: probe of 0002:31:00.0 failed with error -3

    This commit increased MPT_FC_CAN_QUEUE value but initChainBuffers()
    doesn't differentiate between SAS and FC causing increased allocation
    for SAS case, too. Later pci_alloc_consistent() fails to allocate
    increased chain buffer pool size for SAS case.

    Provide a fix by looking at the bus type and using appropriate
    MPT_SAS_CAN_QUEUE value while calculation of the number of chain
    buffers.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Kashyap Desai
    Cc: Stable Tree
    Signed-off-by: James Bottomley

    Anatolij Gustschin
     

07 Jan, 2010

1 commit


05 Jan, 2010

1 commit


10 Dec, 2009

2 commits

  • Powerpc 44x uses 36 bit real address while the real address defined in
    MPT Fusion driver is of type 32 bit. This causes ioremap to fail and
    driver fails to initialize. This fix changes the data types
    representing the real address from unsigned long 32-bit types to
    resource_size_t which is 64-bit. The driver has been tested, the disks
    get discovered correctly and can do IO.

    [jejb: added printk fix for resource_size_t object]
    Signed-off-by: Pravin Bathija
    Acked-by: "Desai, Kashyap"
    Signed-off-by: James Bottomley

    Pravin Bathija
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
    tree-wide: fix misspelling of "definition" in comments
    reiserfs: fix misspelling of "journaled"
    doc: Fix a typo in slub.txt.
    inotify: remove superfluous return code check
    hdlc: spelling fix in find_pvc() comment
    doc: fix regulator docs cut-and-pasteism
    mtd: Fix comment in Kconfig
    doc: Fix IRQ chip docs
    tree-wide: fix assorted typos all over the place
    drivers/ata/libata-sff.c: comment spelling fixes
    fix typos/grammos in Documentation/edac.txt
    sysctl: add missing comments
    fs/debugfs/inode.c: fix comment typos
    sgivwfb: Make use of ARRAY_SIZE.
    sky2: fix sky2_link_down copy/paste comment error
    tree-wide: fix typos "couter" -> "counter"
    tree-wide: fix typos "offest" -> "offset"
    fix kerneldoc for set_irq_msi()
    spidev: fix double "of of" in comment
    comment typo fix: sybsystem -> subsystem
    ...

    Linus Torvalds
     

05 Dec, 2009

1 commit

  • This patch modifies scsi_host_template->change_queue_depth so that
    it takes an argument indicating why it is being called. This will be
    used so that if a LLD needs to do some extra processing when
    handling queue fulls or later ramp ups, it can do so.

    This is a simple port of the drivers setting a change_queue_depth
    callback. In the patch I just have these LLDs adjust the queue depth
    if the user was requesting it.

    Signed-off-by: Mike Christie

    [Vasu.Dev: v2
    Also converted pmcraid_change_queue_depth and then verified
    all modules compile using "make allmodconfig" for any new build
    warnings on X86_64.

    Updated original description after combing two original
    patches from Mike to make this patch git bisectable.]
    Signed-off-by: Vasu Dev
    [jejb: fixed up 53c700]
    Signed-off-by: James Bottomley

    Mike Christie
     

04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

30 Oct, 2009

3 commits


12 Oct, 2009

1 commit


22 Sep, 2009

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)
    trivial: fix typo in aic7xxx comment
    trivial: fix comment typo in drivers/ata/pata_hpt37x.c
    trivial: typo in kernel-parameters.txt
    trivial: fix typo in tracing documentation
    trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c
    trivial: add __init macro/ fix of __exit macro location in ipmi_poweroff.c
    trivial: remove unnecessary semicolons
    trivial: Fix duplicated word "options" in comment
    trivial: kbuild: remove extraneous blank line after declaration of usage()
    trivial: improve help text for mm debug config options
    trivial: doc: hpfall: accept disk device to unload as argument
    trivial: doc: hpfall: reduce risk that hpfall can do harm
    trivial: SubmittingPatches: Fix reference to renumbered step
    trivial: fix typos "man[ae]g?ment" -> "management"
    trivial: media/video/cx88: add __init/__exit macros to cx88 drivers
    trivial: fix typo in CONFIG_DEBUG_FS in gcov doc
    trivial: fix missing printk space in amd_k7_smp_check
    trivial: fix typo s/ketymap/keymap/ in comment
    trivial: fix typo "to to" in multiple files
    trivial: fix typos in comments s/DGBU/DBGU/
    ...

    Linus Torvalds
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

21 Sep, 2009

1 commit


15 Sep, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (209 commits)
    [SCSI] fix oops during scsi scanning
    [SCSI] libsrp: fix memory leak in srp_ring_free()
    [SCSI] libiscsi, bnx2i: make bound ep check common
    [SCSI] libiscsi: add completion function for drivers that do not need pdu processing
    [SCSI] scsi_dh_rdac: changes for rdac debug logging
    [SCSI] scsi_dh_rdac: changes to collect the rdac debug information during the initialization
    [SCSI] scsi_dh_rdac: move the init code from rdac_activate to rdac_bus_attach
    [SCSI] sg: fix oops in the error path in sg_build_indirect()
    [SCSI] mptsas : Bump version to 3.04.12
    [SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command
    [SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device
    [SCSI] mptsas : PAE Kernel more than 4 GB kernel panic
    [SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off
    [SCSI] mptsas : Sanity check for phyinfo is added
    [SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530
    [SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller
    [SCSI] qla2xxx: Update version number to 8.03.01-k6.
    [SCSI] qla2xxx: Properly delete rports attached to a vport.
    [SCSI] qla2xxx: Correct various NPIV issues.
    [SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly.
    ...

    Linus Torvalds
     

12 Sep, 2009

6 commits