17 Jul, 2007

10 commits

  • This should avoid build problems on architectures without a "readb()",
    that got bitten by check_signature() being uninlined.

    Noted by Heiko Carstens.

    Cc: Heiko Carstens
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Optimize integer-to-string conversion in vsprintf.c for base 10. This is
    by far the most used conversion, and in some use cases it impacts
    performance. For example, top reads /proc/$PID/stat for every process, and
    with 4000 processes decimal conversion alone takes noticeable time.

    Using code from

    http://www.cs.uiowa.edu/~jones/bcd/decimal.html
    (with permission from the author, Douglas W. Jones)

    binary-to-decimal-string conversion is done in groups of five digits at
    once, using only additions/subtractions/shifts (with -O2; -Os throws in
    some multiply instructions).

    On i386 arch gcc 4.1.2 -O2 generates ~500 bytes of code.

    This patch is run tested. Userspace benchmark/test is also attached.
    I tested it on PIII and AMD64 and new code is generally ~2.5 times
    faster. On AMD64:

    # ./vsprintf_verify-O2
    Original decimal conv: .......... 151 ns per iteration
    Patched decimal conv: .......... 62 ns per iteration
    Testing correctness
    12895992590592 ok... [Ctrl-C]
    # ./vsprintf_verify-O2
    Original decimal conv: .......... 151 ns per iteration
    Patched decimal conv: .......... 62 ns per iteration
    Testing correctness
    26025406464 ok... [Ctrl-C]

    More realistic test: top from busybox project was modified to
    report how many us it took to scan /proc (this does not account
    any processing done after that, like sorting process list),
    and then I test it with 4000 processes:

    #!/bin/sh
    i=4000
    while test $i != 0; do
    sleep 30 &
    let i--
    done
    busybox top -b -n3 >/dev/null

    on unpatched kernel:

    top: 4120 processes took 102864 microseconds to scan
    top: 4120 processes took 91757 microseconds to scan
    top: 4120 processes took 92517 microseconds to scan
    top: 4120 processes took 92581 microseconds to scan

    on patched kernel:

    top: 4120 processes took 75460 microseconds to scan
    top: 4120 processes took 66451 microseconds to scan
    top: 4120 processes took 67267 microseconds to scan
    top: 4120 processes took 67618 microseconds to scan

    The speedup comes from much faster generation of /proc/PID/stat
    by sprintf() calls inside the kernel.

    Signed-off-by: Douglas W Jones
    Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis Vlasenko
     
  • * There is no point in having full "0...9a...z" constant vector,
    if we use only "0...9a...f" (and "x" for "0x").

    * Post-decrement usually needs a few more instructions, so use
    pre decrement instead where makes sense:
    -       while (i < precision--) {
    +       while (i base 8 or 16), we can avoid using division
    in a loop and use mask/shift, obtaining much faster conversion.
    (More complex optimization for base 10 case is in the second patch).

    Overall, size vsprintf.o shows ~80 bytes smaller text section
    with this patch applied.

    Signed-off-by: Douglas W Jones
    Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis Vlasenko
     
  • The current generic bug implementation has a call to dump_stack() in case a
    WARN_ON(whatever) gets hit. Since report_bug(), which calls dump_stack(),
    gets called from an exception handler we can do better: just pass the
    pt_regs structure to report_bug() and pass it to show_regs() in case of a
    warning. This will give more debug informations like register contents,
    etc... In addition this avoids some pointless lines that dump_stack()
    emits, since it includes a stack backtrace of the exception handler which
    is of no interest in case of a warning. E.g. on s390 the following lines
    are currently always present in a stack backtrace if dump_stack() gets
    called from report_bug():

    [] show_trace+0x92/0xe8)
    [] show_stack+0xa0/0xd0
    [] dump_stack+0x2e/0x3c
    [] report_bug+0x98/0xf8
    [] illegal_op+0x1fc/0x21c
    [] sysc_return+0x0/0x10

    Acked-by: Jeremy Fitzhardinge
    Acked-by: Haavard Skinnemoen
    Cc: Andi Kleen
    Cc: Kyle McMartin
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • This is a rather bizarre thing to have inlined in io.h. Stick it in lib/
    instead.

    While we're there, despaghetti it a bit, and fix its off-by-one behaviour when
    passed a zero length.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Now that we have implemented hotunplug-time counter spilling,
    percpu_counter_sum() only needs to look at online CPUs.

    Cc: Gautham R Shenoy
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • per-cpu counters presently must iterate over all possible CPUs in the
    exhaustive percpu_counter_sum().

    But it can be much better to only iterate over the presently-online CPUs. To
    do this, we must arrange for an offlined CPU's count to be spilled into the
    counter's central count.

    We can do this for all percpu_counters in the machine by linking them into a
    single global list and walking that list at CPU_DEAD time.

    (I hope. Might have race windows in which the percpu_counter_sum() count is
    inaccurate?)

    Cc: Gautham R Shenoy
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Add a new configuration variable

    CONFIG_SLUB_DEBUG_ON

    If set then the kernel will be booted by default with slab debugging
    switched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging
    is available but must be enabled by specifying "slub_debug" as a
    kernel parameter.

    Also add support to switch off slab debugging for a kernel that was
    built with CONFIG_SLUB_DEBUG_ON. This works by specifying

    slub_debug=-

    as a kernel parameter.

    Dave Jones wanted this feature.
    http://marc.info/?l=linux-kernel&m=118072189913045&w=2

    [akpm@linux-foundation.org: clean up switch statement]
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Remove all ids from the given idr tree. idr_destroy() only frees up
    unused, cached idp_layers, but this function will remove all id mappings
    and leave all idp_layers unused.

    A typical clean-up sequence for objects stored in an idr tree, will use
    idr_for_each() to free all objects, if necessay, then idr_remove_all() to
    remove all ids, and idr_destroy() to free up the cached idr_layers.

    Signed-off-by: Kristian Hoegsberg
    Cc: Tejun Heo
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kristian Hoegsberg
     
  • This patch adds an iterator function for the idr data structure. Compared
    to just iterating through the idr with an integer and idr_find, this
    iterator is (almost, but not quite) linear in the number of elements, as
    opposed to the number of integers in the range covered by the idr. This
    makes a difference for sparse idrs, but more importantly, it's a nicer way
    to iterate through the elements.

    The drm subsystem is moving to idr for tracking contexts and drawables, and
    with this change, we can use the idr exclusively for tracking these
    resources.

    [akpm@linux-foundation.org: fix comment]
    Signed-off-by: Kristian Hoegsberg
    Cc: Tejun Heo
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kristian Hoegsberg
     

16 Jul, 2007

1 commit

  • * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (37 commits)
    [XFS] Fix lockdep annotations for xfs_lock_inodes
    [LIB]: export radix_tree_preload()
    [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode
    [XFS] Compat ioctl handler for handle operations
    [XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1.
    [XFS] Clean up function name handling in tracing code
    [XFS] Quota inode has no parent.
    [XFS] Concurrent Multi-File Data Streams
    [XFS] Use uninitialized_var macro to stop warning about rtx
    [XFS] XFS should not be looking at filp reference counts
    [XFS] Use is_power_of_2 instead of open coding checks
    [XFS] Reduce shouting by removing unnecessary macros from dir2 code.
    [XFS] Simplify XFS min/max macros.
    [XFS] Kill off xfs_count_bits
    [XFS] Cancel transactions on xfs_itruncate_start error.
    [XFS] Use do_div() on 64 bit types.
    [XFS] Fix remount,readonly path to flush everything correctly.
    [XFS] Cleanup inode extent size hint extraction
    [XFS] Prevent ENOSPC from aborting transactions that need to succeed
    [XFS] Prevent deadlock when flushing inodes on unmount
    ...

    Linus Torvalds
     

14 Jul, 2007

1 commit

  • XFS filestreams functionality uses radix trees and the preload
    functions. XFS can be built as a module and hence we need
    radix_tree_preload() exported. radix_tree_preload_end() is a
    static inline, so it doesn't need exporting.

    Signed-Off-By: Dave Chinner
    Signed-Off-By: Tim Shimmin

    David Chinner
     

12 Jul, 2007

5 commits

  • As kobj sysfs dentries and inodes are gonna be made reclaimable,
    dentry can't be used as naming token for sysfs file/directory, replace
    kobj->dentry with kobj->sd. The only external interface change is
    shadow directory handling. All other changes are contained in kobj
    and sysfs.

    Signed-off-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Tejun Heo
     
  • Implement idr based id allocator. ida is used the same way idr is
    used but lacks id -> ptr translation and thus consumes much less
    memory. struct ida_bitmap is attached as leaf nodes to idr tree which
    is managed by the idr code. Each ida_bitmap is 128bytes long and
    contains slightly less than a thousand slots.

    ida is more aggressive with releasing extra resources acquired using
    ida_pre_get(). After every successful id allocation, ida frees one
    reserved idr_layer if possible. Reserved ida_bitmap is not freed
    automatically but only one ida_bitmap is reserved and it's almost
    always used right away. Under most circumstances, ida won't hold on
    to memory for too long which isn't actively used.

    Signed-off-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Tejun Heo
     
  • Separate out idr_mark_full() from sub_alloc() and make marking the
    allocated slot full the responsibility of idr_get_new_above_int().

    Allocation part of idr_get_new_above_int() is renamed to
    idr_get_empty_slot(). New idr_get_new_above_int() allocates a slot
    using the function, install the user pointer and marks it full using
    idr_mark_full().

    This change doesn't introduce any behavior change. This will be
    used by ida.

    Signed-off-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Tejun Heo
     
  • In sub_alloc(), when bitmap search fails, it goes up one level to
    continue search. This is done by updating the id cursor and searching
    the upper level again. If the cursor was at the end of the upper
    level, we need to go further than that.

    This wasn't implemented and when that happens the part of the cursor
    which indexes into the upper level wraps and sub_alloc() ends up
    searching the wrong bitmap. It allocates id which doesn't match the
    actual slot.

    This patch fixes this by restarting from the top if the search needs
    to go higher than one level.

    Signed-off-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Tejun Heo
     
  • We get uevents for a bus/class going away, but not one registering.
    Add the missing uevent in kset_register(), which will send an
    event for a new bus/class. Suppress all unwanted uevents for bus
    subdirectories like /bus/*/devices/, /bus/*/drivers/.

    Now we get for module usbcore:
    add /module/usbcore (module)
    add /bus/usb (bus)
    add /class/usb_host (class)
    add /bus/usb/drivers/hub (drivers)
    add /bus/usb/drivers/usb (drivers)
    remove /bus/usb/drivers/usb (drivers)
    remove /bus/usb/drivers/hub (drivers)
    remove /class/usb_host (class)
    remove /bus/usb (bus)
    remove /module/usbcore (module)

    instead of:
    add /module/usbcore (module)
    add /bus/usb/drivers/hub (drivers)
    add /bus/usb/drivers/usb (drivers)
    remove /bus/usb/drivers/usb (drivers)
    remove /bus/usb/drivers/hub (drivers)
    remove /class/usb_host (class)
    remove /bus/usb/drivers (bus)
    remove /bus/usb/devices (bus)
    remove /bus/usb (bus)
    remove /module/usbcore (module)

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

11 Jul, 2007

1 commit

  • This is a hybrid version of the patch to add the LZO1X compression
    algorithm to the kernel. Nitin and myself have merged the best parts of
    the various patches to form this version which we're both happy with (and
    are jointly signing off).

    The performance of this version is equivalent to the original minilzo code
    it was based on. Bytecode comparisons have also been made on ARM, i386 and
    x86_64 with favourable results.

    There are several users of LZO lined up including jffs2, crypto and reiser4
    since its much faster than zlib.

    Signed-off-by: Nitin Gupta
    Signed-off-by: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Purdie
     

10 Jul, 2007

1 commit


09 Jun, 2007

3 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
    firmware: remove orphaned Email
    kobject: use the proper printk level for kobject error
    Driver core: kill unused code
    Driver core: keep PHYSDEV for old struct class_device
    update Documentation/driver-model/platform.txt

    Linus Torvalds
     
  • Add a prefix string parameter. Callers are responsible for any string
    length/alignment that they want to see in the output. I.e., callers should
    pad strings to achieve alignment if they want that.

    Add rowsize parameter. This is the number of raw data bytes to be printed
    per line. Must be 16 or 32.

    Add a groupsize parameter. This allows callers to dump values as 1-byte,
    2-byte, 4-byte, or 8-byte numbers. Default is 1-byte numbers. If the
    total length is not an even multiple of groupsize, 1-byte numbers are
    printed.

    Add an "ascii" output parameter. This causes ASCII data output following
    the hex data output.

    Clean up some doc examples.

    Align the ASCII output on all lines that are produced by one call.

    Add a new interface, print_hex_dump_bytes(), that is a shortcut to
    print_hex_dump(), using default parameter values to print 16 bytes in
    byte-size chunks of hex + ASCII output, using printk level KERN_DEBUG.

    Signed-off-by: Randy Dunlap
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Thanks to Jean Delvare for pointing it out to me.

    Cc: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

01 Jun, 2007

1 commit

  • Make timer-stats have almost zero overhead when enabled in the config but
    not used. (this way distros can enable it more easily)

    Also update the documentation about overhead of timer_stats - it was
    written for the first version which had a global lock and a linear list
    walk based lookup ;-)

    Signed-off-by: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

24 May, 2007

1 commit

  • There have been a number of instances where people have accidentally compiled
    rcutorture into the kernel (CONFIG_RCU_TORTURE_TEST=y), which has never been
    useful, and has often resulted in great frustration.

    The attached patch prohibits rcutorture from being compiled into the
    kernel. It may be excluded altogether or compiled as a module. People
    wishing to have rcutorture hammer their machine immediately upon boot
    are free to hand-edit lib/Kconfig.debug to remove the "depends on m"
    line.

    Thanks to Randy Dunlap for the trick that makes this work.

    Signed-off-by: Paul E. McKenney
    Acked-by: Josh Triplett
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul E. McKenney
     

22 May, 2007

1 commit

  • First thing mm.h does is including sched.h solely for can_do_mlock() inline
    function which has "current" dereference inside. By dealing with can_do_mlock()
    mm.h can be detached from sched.h which is good. See below, why.

    This patch
    a) removes unconditional inclusion of sched.h from mm.h
    b) makes can_do_mlock() normal function in mm/mlock.c
    c) exports can_do_mlock() to not break compilation
    d) adds sched.h inclusions back to files that were getting it indirectly.
    e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
    getting them indirectly

    Net result is:
    a) mm.h users would get less code to open, read, preprocess, parse, ... if
    they don't need sched.h
    b) sched.h stops being dependency for significant number of files:
    on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
    after patch it's only 3744 (-8.3%).

    Cross-compile tested on

    all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
    alpha alpha-up
    arm
    i386 i386-up i386-defconfig i386-allnoconfig
    ia64 ia64-up
    m68k
    mips
    parisc parisc-up
    powerpc powerpc-up
    s390 s390-up
    sparc sparc-up
    sparc64 sparc64-up
    um-x86_64
    x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

    as well as my two usual configs.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

13 May, 2007

1 commit


12 May, 2007

1 commit


11 May, 2007

5 commits

  • Based on ace_dump_mem() from Grant Likely for the Xilinx SystemACE
    CompactFlash interface.

    Add print_hex_dump() & hex_dumper() to lib/hexdump.c and linux/kernel.h.

    This patch adds the functions print_hex_dump() & hex_dumper().
    print_hex_dump() can be used to perform a hex + ASCII dump of data to
    syslog, in an easily viewable format, thus providing a common text hex dump
    format.

    hex_dumper() provides a dump-to-memory function. It converts one "line" of
    output (16 bytes of input) at a time.

    Example usages:
    print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);
    hex_dumper(frame->data, frame->len, linebuf, sizeof(linebuf));

    Example output using %DUMP_PREFIX_OFFSET:
    0009ab42: 40414243 44454647 48494a4b 4c4d4e4f-@ABCDEFG HIJKLMNO
    Example output using %DUMP_PREFIX_ADDRESS:
    ffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f-pqrstuvw xyz{|}~.

    [akpm@linux-foundation.org: cleanups, add export]
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • When auditing syscalls that send signals, log the pid and security
    context for each target process. Optimize the data collection by
    adding a counter for signal-related rules, and avoiding allocating an
    aux struct unless we have more than one target process. For process
    groups, collect pid/context data in blocks of 16. Move the
    audit_signal_info() hook up in check_kill_permission() so we audit
    attempts where permission is denied.

    Signed-off-by: Amy Griffis
    Signed-off-by: Al Viro

    Amy Griffis
     
  • Add a syscall class for sending signals.

    Signed-off-by: Amy Griffis
    Signed-off-by: Al Viro

    Amy Griffis
     
  • * 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (138 commits)
    firewire: Convert OHCI driver to use standard goto unwinding for error handling.
    firewire: Always use parens with sizeof.
    firewire: Drop single buffer request support.
    firewire: Add a comment to describe why we split the sg list.
    firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand.
    firewire: Handle the last few DMA mapping error cases.
    firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata.
    firewire: Provide module aliase for backwards compatibility.
    firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile.
    firewire: Break out shared IEEE1394 constant to separate header file.
    firewire: Use linux/*.h instead of asm/*.h header files.
    firewire: Uppercase most macro names.
    firewire: Coding style cleanup: no spaces after function names.
    firewire: Convert card_rwsem to a regular mutex.
    firewire: Clean up comment style.
    firewire: Use lib/ implementation of CRC ITU-T.
    CRC ITU-T V.41
    firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux.
    firewire: Future proof the iso ioctls by adding a handle for the iso context.
    firewire: Add read/write and size annotations to IOC numbers.
    ...

    Acked-by: Christoph Hellwig
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This will add the CRC calculation according
    to the CRC ITU-T V.41 to the kernel lib/ folder.

    This code has been derived from the rt2x00 driver,
    currently found only in the wireless-dev tree, but
    this library is generic and could be used by more
    drivers who currently use their own implementation.

    Signed-off-by: Ivo van Doorn

    Also useful for the new firewire stack.

    Signed-off-by: Kristian Hoegsberg
    Signed-off-by: Stefan Richter

    Ivo van Doorn
     

10 May, 2007

2 commits

  • * git://git.infradead.org/mtd-2.6: (21 commits)
    [MTD] [CHIPS] Remove MTD_OBSOLETE_CHIPS (jedec, amd_flash, sharp)
    [MTD] Delete allegedly obsolete "bank_size" field of mtd_info.
    [MTD] Remove unnecessary user space check from mtd.h.
    [MTD] [MAPS] Remove flash maps for no longer supported 405LP boards
    [MTD] [MAPS] Fix missing printk() parameter in physmap_of.c MTD driver
    [MTD] [NAND] platform NAND driver: add driver
    [MTD] [NAND] platform NAND driver: update header
    [JFFS2] Simplify and clean up jffs2_add_tn_to_tree() some more.
    [JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree()
    [JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree()
    [JFFS2] Remember to calculate overlap on nodes which replace older nodes
    [JFFS2] Don't advance c->wbuf_ofs to next eraseblock after wbuf flush
    [MTD] [NAND] at91_nand.c: CMDLINE_PARTS support
    [MTD] [NAND] Tidy up handling of page number in nand_block_bad()
    [MTD] block2mtd_paramline[] mustn't be __initdata
    [MTD] [NAND] Support multiple chips in CAFÉ driver
    [MTD] [NAND] Rename cafe.c to cafe_nand.c and remove the multi-obj magic
    [MTD] [NAND] Use rslib for CAFÉ ECC
    [RSLIB] Support non-canonical GF representations
    [JFFS2] Remove dead file histo_mips.h
    ...

    Linus Torvalds
     
  • Since nonboot CPUs are now disabled after tasks and devices have been
    frozen and the CPU hotplug infrastructure is used for this purpose, we need
    special CPU hotplug notifications that will help the CPU-hotplug-aware
    subsystems distinguish normal CPU hotplug events from CPU hotplug events
    related to a system-wide suspend or resume operation in progress. This
    patch introduces such notifications and causes them to be used during
    suspend and resume transitions. It also changes all of the
    CPU-hotplug-aware subsystems to take these notifications into consideration
    (for now they are handled in the same way as the corresponding "normal"
    ones).

    [oleg@tv-sign.ru: cleanups]
    Signed-off-by: Rafael J. Wysocki
    Cc: Gautham R Shenoy
    Cc: Pavel Machek
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

09 May, 2007

5 commits

  • Several people have observed that perhaps LOG_BUF_SHIFT should be in a more
    obvious place than under DEBUG_KERNEL. Under some circumstances (such as the
    PARISC architecture), DEBUG_KERNEL can increase kernel size, which is an
    undesirable trade off for something as trivial as increasing the kernel log
    buffer size.

    Instead, move LOG_BUF_SHIFT into "General Setup", so that people are more
    likely to be able to change it such a circumstance that the default buffer
    size is insufficient.

    Signed-off-by: Alistair John Strachan
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alistair John Strachan
     
  • I was playing with some code that sometimes got a string where a %n
    match should have been done where the input string ended, for example
    like this:

    sscanf("abc123", "abc%d%n", &a, &n); /* doesn't work */
    sscanf("abc123a", "abc%d%n", &a, &n); /* works */

    However, the scanf function in the kernel doesn't convert the %n in that
    case because it has already matched the complete input after %d and just
    completely stops matching then. This patch fixes that.

    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: Johannes Berg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     
  • Remove the Kconfig selection of semaphore debugging from the ALPHA and FRV
    Kconfig files, and centralize it in lib/Kconfig.debug.

    There doesn't seem to be much point in letting individual architectures
    independently define the same Kconfig option when it can just as easily be
    put in a single Kconfig file and made dependent on a subset of
    architectures. that way, at least the option shows up in the same relative
    location in the menu each time.

    Signed-off-by: Robert P. J. Day
    Cc: David Howells
    Cc: Ivan Kokshaysky
    Cc: Richard Henderson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • kbuild spits outs following warning on a
    defconfig x86_64 build:
    WARNING: swiotlb.o - Section mismatch: reference to .init.text:swiotlb_init from __ksymtab between '__ksymtab_swiotlb_init' (at offset 0xa0) and '__ksymtab_swiotlb_free_coherent'

    This warning happens because the function swiotlb_init is marked __init and
    EXPORT_SYMBOL(). A 'git grep swiotlb_init' showed no users in drivers/ so
    remove the EXPORT_SYMBOL.

    Signed-off-by: Sam Ravnborg
    Cc: Andi Kleen
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • Simplify the stacktrace code:

    - remove the unused task argument to save_stack_trace, it's always
    current
    - remove the all_contexts flag, it's alwasy 0

    Signed-off-by: Christoph Hellwig
    Cc: Paul Mundt
    Cc: Ralf Baechle
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Andi Kleen
    Cc: Akinobu Mita
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

08 May, 2007

1 commit

  • The last zlib_inflate update broke certain corner cases for ppp_deflate
    decompression handling. This patch fixes some logic to make things work
    properly again. Users other than ppp_deflate (the only Z_PACKET_FLUSH
    user) should be unaffected.

    Fixes bug 8405 (confirmed by Stefan)

    Signed-off-by: Richard Purdie
    Cc: Stefan Wenk
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Purdie