22 Apr, 2008

2 commits

  • * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:
    Deprecate the asm/semaphore.h files in feature-removal-schedule.
    Convert asm/semaphore.h users to linux/semaphore.h
    security: Remove unnecessary inclusions of asm/semaphore.h
    lib: Remove unnecessary inclusions of asm/semaphore.h
    kernel: Remove unnecessary inclusions of asm/semaphore.h
    include: Remove unnecessary inclusions of asm/semaphore.h
    fs: Remove unnecessary inclusions of asm/semaphore.h
    drivers: Remove unnecessary inclusions of asm/semaphore.h
    net: Remove unnecessary inclusions of asm/semaphore.h
    arch: Remove unnecessary inclusions of asm/semaphore.h

    Linus Torvalds
     
  • …linux-2.6-sched-devel

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits)
    sched: build fix
    sched: better rt-group documentation
    sched: features fix
    sched: /debug/sched_features
    sched: add SCHED_FEAT_DEADLINE
    sched: debug: show a weight tree
    sched: fair: weight calculations
    sched: fair-group: de-couple load-balancing from the rb-trees
    sched: fair-group scheduling vs latency
    sched: rt-group: optimize dequeue_rt_stack
    sched: debug: add some debug code to handle the full hierarchy
    sched: fair-group: SMP-nice for group scheduling
    sched, cpuset: customize sched domains, core
    sched, cpuset: customize sched domains, docs
    sched: prepatory code movement
    sched: rt: multi level group constraints
    sched: task_group hierarchy
    sched: fix the task_group hierarchy for UID grouping
    sched: allow the group scheduler to have multiple levels
    sched: mix tasks and groups
    ...

    Linus Torvalds
     

20 Apr, 2008

1 commit

  • Add a new function cpumask_scnprintf_len() to return the number of
    characters needed to display "len" cpumask bits. The current method
    of allocating NR_CPUS bytes is incorrect as what's really needed is
    9 characters per 32-bit word of cpumask bits (8 hex digits plus the
    seperator [','] or the terminating NULL.) This function provides the
    caller the means to allocate the correct string length.

    Cc: Paul Jackson
    Signed-off-by: Mike Travis
    Signed-off-by: Ingo Molnar

    Mike Travis
     

19 Apr, 2008

6 commits

  • There have been a few oopses caused by 'struct file's with NULL f_vfsmnts.
    There was also a set of potentially missed mnt_want_write()s from
    dentry_open() calls.

    This patch provides a very simple debugging framework to catch these kinds of
    bugs. It will WARN_ON() them, but should stop us from having any oopses or
    mnt_writer count imbalances.

    I'm quite convinced that this is a good thing because it found bugs in the
    stuff I was working on as soon as I wrote it.

    [hch: made it conditional on a debug option.
    But it's still a little bit too ugly]

    [hch: merged forced remount r/o fix from Dave and akpm's fix for the fix]

    Signed-off-by: Dave Hansen
    Acked-by: Al Viro
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Al Viro

    Dave Hansen
     
  • Signed-off-by: Matthew Wilcox

    Matthew Wilcox
     
  • reed_solomon doesn't use any of the functionality promised by
    asm/semaphore.h.

    Signed-off-by: Matthew Wilcox

    Matthew Wilcox
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)
    [NET]: Fix and allocate less memory for ->priv'less netdevices
    [IPV6]: Fix dangling references on error in fib6_add().
    [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found
    [PKT_SCHED]: Fix datalen check in tcf_simp_init().
    [INET]: Uninline the __inet_inherit_port call.
    [INET]: Drop the inet_inherit_port() call.
    SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
    [netdrvr] forcedeth: internal simplifications; changelog removal
    phylib: factor out get_phy_id from within get_phy_device
    PHY: add BCM5464 support to broadcom PHY driver
    cxgb3: Fix __must_check warning with dev_dbg.
    tc35815: Statistics cleanup
    natsemi: fix MMIO for PPC 44x platforms
    [TIPC]: Cleanup of TIPC reference table code
    [TIPC]: Optimized initialization of TIPC reference table
    [TIPC]: Remove inlining of reference table locking routines
    e1000: convert uint16_t style integers to u16
    ixgb: convert uint16_t style integers to u16
    sb1000.c: make const arrays static
    sb1000.c: stop inlining largish static functions
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits)
    [SCSI] iscsi: bidi support for iscsi_tcp
    [SCSI] iscsi: bidi support at the generic libiscsi level
    [SCSI] iscsi: extended cdb support
    [SCSI] zfcp: Fix error handling for blocked unit for send FCP command
    [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock
    [SCSI] zfcp: fix 31 bit compile warnings
    [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands
    [SCSI] bsg: remove minor in struct bsg_device
    [SCSI] bsg: use better helper list functions
    [SCSI] bsg: replace kobject_get with blk_get_queue
    [SCSI] bsg: takes a ref to struct device in fops->open
    [SCSI] qla1280: remove version check
    [SCSI] libsas: fix endianness bug in sas_ata
    [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next)
    [SCSI] aacraid: Do not describe check_reset parameter with its value
    [SCSI] aacraid: Fix down_interruptible() to check the return value
    [SCSI] sun3_scsi_vme: add MODULE_LICENSE
    [SCSI] st: rename flush_write_buffer()
    [SCSI] tgt: use KMEM_CACHE macro
    [SCSI] initio: fix big endian problems for auto request sense
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (43 commits)
    firewire: cleanups
    firewire: fix synchronization of gap counts
    firewire: wait until PHY configuration packet was transmitted (fix bus reset loop)
    firewire: remove unused struct member
    firewire: use bitwise and to get reg in handle_registers
    firewire: replace more hex values with defined csr constants
    firewire: reread config ROM when device reset the bus
    firewire: replace static ROM cache by allocated cache
    firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more)
    firewire: fw-ohci: extend logging of bus generations and node ID
    firewire: fw-ohci: conditionally log busReset interrupts
    firewire: fw-ohci: don't append to AT context when it's not active
    firewire: fw-ohci: log regAccessFail events
    firewire: fw-ohci: make sure HCControl register LPS bit is set
    firewire: fw-ohci: missing PPC PMac feature calls in failure path
    firewire: fw-ohci: untangle a mixed unsigned/signed expression
    firewire: debug interrupt events
    firewire: fw-ohci: catch self_id_count == 0
    firewire: fw-ohci: add self ID error check
    firewire: fw-ohci: refactor probe, remove, suspend, resume
    ...

    Linus Torvalds
     

18 Apr, 2008

7 commits

  • This way firewire-ohci can be used for remote debugging like ohci1394.
    Version with amendment from Fri, 11 Apr 2008 00:08:08 +0200.

    Signed-off-by: Stefan Richter
    Acked-by: Bernhard Kaindl

    Stefan Richter
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:
    kgdb: always use icache flush for sw breakpoints
    kgdb: fix SMP NMI kgdb_handle_exception exit race
    kgdb: documentation fixes
    kgdb: allow static kgdbts boot configuration
    kgdb: add documentation
    kgdb: Kconfig fix
    kgdb: add kgdb internal test suite
    kgdb: fix several kgdb regressions
    kgdb: kgdboc pl011 I/O module
    kgdb: fix optional arch functions and probe_kernel_*
    kgdb: add x86 HW breakpoints
    kgdb: print breakpoint removed on exception
    kgdb: clocksource watchdog
    kgdb: fix NMI hangs
    kgdb: fix kgdboc dynamic module configuration
    kgdb: document parameters
    x86: kgdb support
    consoles: polling support, kgdboc
    kgdb: core
    uaccess: add probe_kernel_write()

    Linus Torvalds
     
  • * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:
    Remove DEBUG_SEMAPHORE from Kconfig
    Improve semaphore documentation
    Simplify semaphore implementation
    Add down_timeout and change ACPI to use it
    Introduce down_killable()
    Generic semaphore implementation
    Add semaphore.h to kernel_lock.c
    Fix quota.h includes

    Linus Torvalds
     
  • David S. Miller
     
  • This patch adds in the ability to compile the kgdb internal test
    string into the kernel so as to run the tests at boot without changing
    the kernel boot arguments. This patch also changes all the error
    paths to invoke WARN_ON(1) which will emit the line number of the file
    and dump the kernel stack when an error occurs.

    You can disable the tests in a kernel that is built this way
    using "kgdbts="

    Signed-off-by: Jason Wessel
    Signed-off-by: Ingo Molnar

    Jason Wessel
     
  • This patch adds regression tests for testing the kgdb core and arch
    specific implementation.

    The kgdb test suite is designed to be built into the kernel and not as
    a module because it uses a number of low level kernel and kgdb
    primitives which should not be exported externally.

    The kgdb test suite is designed as a KGDB I/O module which
    simulates the communications that a debugger would have with kgdb.
    The tests are broken up in to a line by line and referenced here as
    a "get" which is kgdb requesting input and "put" which is kgdb
    sending a response.

    The kgdb suite can be invoked from the kernel command line
    arguments system or executed dynamically at run time. The test
    suite uses the variable "kgdbts" to obtain the information about
    which tests to run and to configure the verbosity level. The
    following are the various characters you can use with the kgdbts=
    line:

    When using the "kgdbts=" you only choose one of the following core
    test types:
    A = Run all the core tests silently
    V1 = Run all the core tests with minimal output
    V2 = Run all the core tests in debug mode

    You can also specify optional tests:
    N## = Go to sleep with interrupts of for ## seconds
    to test the HW NMI watchdog
    F## = Break at do_fork for ## iterations
    S## = Break at sys_open for ## iterations

    NOTE: that the do_fork and sys_open tests are mutually exclusive.

    To invoke the kgdb test suite from boot you use a kernel start
    argument as follows:
    kgdbts=V1 kgdbwait
    Or if you wanted to perform the NMI test for 6 seconds and do_fork
    test for 100 forks, you could use:
    kgdbts=V1N6F100 kgdbwait

    The test suite can also be invoked at run time with:
    echo kgdbts=V1N6F100 > /sys/module/kgdbts/parameters/kgdbts
    Or as another example:
    echo kgdbts=V2 > /sys/module/kgdbts/parameters/kgdbts

    When developing a new kgdb arch specific implementation or
    using these tests for the purpose of regression testing,
    several invocations are required.

    1) Boot with the test suite enabled by using the kernel arguments
    "kgdbts=V1F100 kgdbwait"
    ## If kgdb arch specific implementation has NMI use
    "kgdbts=V1N6F100

    2) After the system boot run the basic test.
    echo kgdbts=V1 > /sys/module/kgdbts/parameters/kgdbts

    3) Run the concurrency tests. It is best to use n+1
    while loops where n is the number of cpus you have
    in your system. The example below uses only two
    loops.

    ## This tests break points on sys_open
    while [ 1 ] ; do find / > /dev/null 2>&1 ; done &
    while [ 1 ] ; do find / > /dev/null 2>&1 ; done &
    echo kgdbts=V1S10000 > /sys/module/kgdbts/parameters/kgdbts
    fg # and hit control-c
    fg # and hit control-c
    ## This tests break points on do_fork
    while [ 1 ] ; do date > /dev/null ; done &
    while [ 1 ] ; do date > /dev/null ; done &
    echo kgdbts=V1F1000 > /sys/module/kgdbts/parameters/kgdbts
    fg # and hit control-c

    Signed-off-by: Jason Wessel
    Signed-off-by: Ingo Molnar

    Jason Wessel
     
  • kgdb core code. Handles the protocol and the arch details.

    [ mingo@elte.hu: heavily modified, simplified and cleaned up. ]
    [ xemul@openvz.org: use find_task_by_pid_ns ]

    Signed-off-by: Jason Wessel
    Signed-off-by: Ingo Molnar
    Signed-off-by: Jan Kiszka
    Reviewed-by: Thomas Gleixner

    Jason Wessel
     

17 Apr, 2008

3 commits

  • Alpha and FRV mutexes had an option to print lots of debugging messages
    in their semaphore implementation. This feature has not been carried
    over to the generic semaphores, so remove the stale Kconfig option.

    Signed-off-by: Matthew Wilcox

    Matthew Wilcox
     
  • Semaphores are no longer performance-critical, so a generic C
    implementation is better for maintainability, debuggability and
    extensibility. Thanks to Peter Zijlstra for fixing the lockdep
    warning. Thanks to Harvey Harrison for pointing out that the
    unlikely() was unnecessary.

    Signed-off-by: Matthew Wilcox
    Acked-by: Ingo Molnar

    Matthew Wilcox
     
  • kernel_lock.c uses DECLARE_MUTEX, up() and down() without explicitly
    including asm/semaphore.h. This is fragile and leaves it vulnerable
    to breakage during header reorganisations.

    Signed-off-by: Matthew Wilcox

    Matthew Wilcox
     

14 Apr, 2008

2 commits


11 Apr, 2008

1 commit

  • Shift of a LE value seems strange, probably meant to shift the cpu-order
    variable as in the prvious section of the switch statement.

    Signed-off-by: Harvey Harrison
    Acked-by: Richard Purdie
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

08 Apr, 2008

1 commit

  • This patch adds new three helper functions to copy data between an SG
    list and a linear buffer.

    - sg_copy_from_buffer copies data from linear buffer to an SG list

    - sg_copy_to_buffer copies data from an SG list to a linear buffer

    When the APIs copy data from a linear buffer to an SG list,
    flush_kernel_dcache_page is called. It's not necessary for everyone
    but it's a no-op on most architectures and in general the API is not
    used in performance critical path.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Jens Axboe
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     

04 Apr, 2008

3 commits


31 Mar, 2008

1 commit

  • Mark Lord wrote:
    >
    > On boot, syslog is flooded with "uevent: unsupported action-string;" messages.
    ..
    > Mar 28 14:43:29 shrimp kernel: tty ptyqd: uevent: unsupported
    > action-string; this will be ignored in a future kernel version
    > Mar 28 14:43:29 shrimp kernel: tty ptyqe: uevent: unsupported
    > action-string; this will be ignored in a future kernel version
    > Mar 28 14:43:29 shrimp kernel: tty ptyqf: uevent: unsupported
    > action-string; this will be ignored in a future kernel version
    > Mar 28 14:43:29 shrimp kernel: tty ptyr0: uevent: unsupported
    > action-string; this will be ignored in a future kernel version
    ..

    These messages are a regression compared with 2.6.24, which did not
    flood the syslog with them.

    The actual underlying problem was introduced in 2.6.23, when somebody
    made the string parsing no longer accept nul-terminated strings as a
    valid input to store_uevent().

    Eg. "add\0" was valid prior to 2.6.23, where the code regressed to
    require "add" without the '\0'.

    This patch fixes the 2.6.23 / 2.6.24 regressions, by having the code
    once again tolerate the trailing '\0', if present.

    According to GregKH, this mainly affects older Ubuntu systems, such as
    the one I have here that requires this fix.

    Signed-off-by: Mark Lord
    Signed-off-by: Linus Torvalds

    Mark Lord
     

29 Mar, 2008

1 commit

  • The knock-out. The pcounter abstraction is not used any longer in the
    kernel.

    Not sure whether this should go via netdev tree, but as far as I
    remember it was added via this one, and besides Eric thinks that
    Andrew shouldn't mind this.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     

28 Mar, 2008

1 commit


25 Mar, 2008

1 commit

  • It appears that 64-bit PCI resources cannot possibly ever have worked on
    x86-32 even when the RESOURCES_64BIT config option was set, because any
    driver that tried to [pci_]ioremap() the resource would have been unable
    to do so because the high 32 bits would have been silently dropped on
    the floor by the ioremap() routines that only used "unsigned long".

    Change them to use "resource_size_t" instead, which properly encodes the
    whole 64-bit resource data if RESOURCES_64BIT is enabled.

    Acked-by: H. Peter Anvin
    Acked-by: Stefan Richter
    Cc: Ivan Kokshaysky
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

17 Mar, 2008

1 commit

  • Some drivers need to reserve all PCI BARs to prevent other drivers
    misusing unoccupied BARs. pcim_iomap_regions_request_all() requests
    all BARs and iomap specified BARs.

    Signed-off-by: Tejun Heo
    Cc: Greg Kroah-Hartman
    Cc: Alan Cox
    Cc: Jeff Garzik
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

14 Mar, 2008

1 commit

  • Commit 681cc5cd3efbeafca6386114070e0bfb5012e249 ("iommu sg merging:
    swiotlb: respect the segment boundary limits") introduced two
    possibilities for entering an endless loop in lib/swiotlb.c:

    - if max_slots is zero (possible if mask is ~0UL)
    - if the number of slots requested fits into a swiotlb segment, but is
    too large for the part of a segment which remains after considering
    offset_slots

    This fixes them

    Signed-off-by: Jan Beulich
    Cc: FUJITA Tomonori
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

05 Mar, 2008

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
    debugfs: fix sparse warnings
    Driver core: Fix cleanup when failing device_add().
    driver core: Remove dpm_sysfs_remove() from error path of device_add()
    PM: fix new mutex-locking bug in the PM core
    PM: Do not acquire device semaphores upfront during suspend
    kobject: properly initialize ksets
    sysfs: CONFIG_SYSFS_DEPRECATED fix
    driver core: fix up Kconfig text for CONFIG_SYSFS_DEPRECATED

    Linus Torvalds
     
  • iommu_is_span_boundary is used internally in the IOMMU helper
    (lib/iommu-helper.c), a primitive function that judges whether a memory area
    spans LLD's segment boundary or not.

    It's difficult to convert some IOMMUs to use the IOMMU helper but
    iommu_is_span_boundary is still useful for them. So this patch exports it.

    This is needed for the parisc iommu fixes.

    Signed-off-by: FUJITA Tomonori
    Cc: Kyle McMartin
    Cc: Matthew Wilcox
    Cc: Grant Grundler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • kset_initialize was calling kobject_init_internal() which didn't
    initialize the kobject as well as kobject_init() was. So have
    kobject_init() call kobject_init_internal() and move the logic to
    initalize the kobject there.

    Cc: Kay Sievers
    Cc: Hannes Reinecke
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

24 Feb, 2008

2 commits


15 Feb, 2008

1 commit


10 Feb, 2008

2 commits

  • In arch/x86/boot/printf.c gets rid of unused tail of digits: const char
    *digits = "0123456789abcdefghijklmnopqrstuvwxyz"; (we are using 0-9a-f
    only)

    Uses smaller/faster lowercasing (by ORing with 0x20)
    if we know that we work on numbers/digits. Makes
    strtoul smaller, and also we are getting rid of

    static const char small_digits[] = "0123456789abcdefx";
    static const char large_digits[] = "0123456789ABCDEFX";

    since this works equally well:

    static const char digits[16] = "0123456789ABCDEF";

    Size savings:

    $ size vmlinux.org vmlinux
    text data bss dec hex filename
    877320 112252 90112 1079684 107984 vmlinux.org
    877048 112252 90112 1079412 107874 vmlinux

    It may be also a tiny bit faster because code has less
    branches now, but I doubt it is measurable.

    [ hugh@veritas.com: uppercase pointers fix ]

    Signed-off-by: Denys Vlasenko
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Denys Vlasenko
     
  • Other than the defconfigs, remove the entry in compiler-gcc4.h,
    Kconfig.debug and feature-removal-schedule.txt.

    Signed-off-by: Harvey Harrison
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Harvey Harrison