1. 19 Dec, 2009 7 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-fixes-for-linus' of... · 3981e152
      Linus Torvalds authored
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system
        Makefile: Unexport LC_ALL instead of clearing it
        x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk
        x86: Reenable TSC sync check at boot, even with NONSTOP_TSC
        x86: Don't use POSIX character classes in gen-insn-attr-x86.awk
        Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C
        x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA
        x86: Fix checking of SRAT when node 0 ram is not from 0
        x86, cpuid: Add "volatile" to asm in native_cpuid()
        x86, msr: msrs_alloc/free for CONFIG_SMP=n
        x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space
        x86: Add IA32_TSC_AUX MSR and use it
        x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers
        initramfs: add missing decompressor error check
        bzip2: Add missing checks for malloc returning NULL
        bzip2/lzma/gzip: pre-boot malloc doesn't return NULL on failure
      3981e152
    • Linus Torvalds's avatar
      Merge branch 'sched-fixes-for-linus' of... · aac3d396
      Linus Torvalds authored
      Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)
        sched: Fix broken assertion
        sched: Assert task state bits at build time
        sched: Update task_state_arraypwith new states
        sched: Add missing state chars to TASK_STATE_TO_CHAR_STR
        sched: Move TASK_STATE_TO_CHAR_STR near the TASK_state bits
        sched: Teach might_sleep() about preemptible RCU
        sched: Make warning less noisy
        sched: Simplify set_task_cpu()
        sched: Remove the cfs_rq dependency from set_task_cpu()
        sched: Add pre and post wakeup hooks
        sched: Move kthread_bind() back to kthread.c
        sched: Fix select_task_rq() vs hotplug issues
        sched: Fix sched_exec() balancing
        sched: Ensure set_task_cpu() is never called on blocked tasks
        sched: Use TASK_WAKING for fork wakups
        sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE
        sched: Fix task_hot() test order
        sched: Fix set_cpu_active() in cpu_down()
        sched: Mark boot-cpu active before smp_init()
        sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
        ...
      aac3d396
    • Linus Torvalds's avatar
      Merge branch 'core-fixes-for-linus' of... · 10e5453f
      Linus Torvalds authored
      Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        sys: Fix missing rcu protection for __task_cred() access
        signals: Fix more rcu assumptions
        signal: Fix racy access to __task_cred in kill_pid_info_as_uid()
      10e5453f
    • Linus Torvalds's avatar
      Merge branch 'timers-fixes-for-linus' of... · 3cd312c3
      Linus Torvalds authored
      Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        timers: Remove duplicate setting of new_base in __mod_timer()
        clockevents: Prevent clockevent_devices list corruption on cpu hotplug
      3cd312c3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · ecd5907a
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] Use strim instead of strstrip to avoid false warnings.
        [S390] qdio: add counter for input queue full condition
        [S390] qdio: remove superfluous log entries and WARN_ONs.
        [S390] ptrace: dont abuse PT_PTRACED
        [S390] cio: fix channel path vary
        [S390] drivers: Correct size given to memset
        [S390] tape: Add pr_fmt() macro to all tape source files
        [S390] rename NT_PRXSTATUS to NT_S390_HIGHREGS
        [S390] tty: PTR_ERR return of wrong pointer in fs3270_open()
        [S390] s390: PTR_ERR return of wrong pointer in fallback_init_cip()
        [S390] dasd: PTR_ERR return of wrong pointer in
        [S390] dasd: move dasd-diag kmsg to dasd
        [S390] cio: fix drvdata usage for the console subchannel
        [S390] wire up sys_recvmmsg
      ecd5907a
    • Al Viro's avatar
      fix more leaks in audit_tree.c tag_chunk() · b4c30aad
      Al Viro authored
      Several leaks in audit_tree didn't get caught by commit
      318b6d3d, including the leak on normal
      exit in case of multiple rules refering to the same chunk.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b4c30aad
    • Al Viro's avatar
      fix braindamage in audit_tree.c untag_chunk() · 6f5d5114
      Al Viro authored
      ... aka "Al had badly fscked up when writing that thing and nobody
      noticed until Eric had fixed leaks that used to mask the breakage".
      
      The function essentially creates a copy of old array sans one element
      and replaces the references to elements of original (they are on cyclic
      lists) with those to corresponding elements of new one.  After that the
      old one is fair game for freeing.
      
      First of all, there's a dumb braino: when we get to list_replace_init we
      use indices for wrong arrays - position in new one with the old array
      and vice versa.
      
      Another bug is more subtle - termination condition is wrong if the
      element to be excluded happens to be the last one.  We shouldn't go
      until we fill the new array, we should go until we'd finished the old
      one.  Otherwise the element we are trying to kill will remain on the
      cyclic lists...
      
      That crap used to be masked by several leaks, so it was not quite
      trivial to hit.  Eric had fixed some of those leaks a while ago and the
      shit had hit the fan...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6f5d5114
  2. 18 Dec, 2009 25 commits
  3. 17 Dec, 2009 8 commits
    • Linus Torvalds's avatar
      Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 · bf931a01
      Linus Torvalds authored
      * 'next-spi' of git://git.secretlab.ca/git/linux-2.6:
        spi: spi_txx9.c: use resource_size()
        spi: spi_sh_sci.c: use resource_size()
        spi: spi_mpc8xxx.c: use resource_size()
        spi: spi_bfin5xx.c: use resource_size()
        spi: atmel_spi.c: use resource_size()
        spi: Add s3c64xx SPI Controller driver
        atmel_spi: fix dma addr calculation for len > BUFFER_SIZE
        spi_s3c24xx: add FIQ pseudo-DMA support
        spi: controller driver for Designware SPI core
        spidev: add proper section markers
        spidev: use DECLARE_BITMAP instead of declaring the array
      bf931a01
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight · 4e46aa08
      Linus Torvalds authored
      * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
        backlight: mbp_nvidia_bl - add two more MacBookPro variants
        backlight: Pass device through notify callback in the pwm driver
        backlight: PTR_ERR return of wrong pointer in cr_backlight_probe()
        backlight: Constify struct backlight_ops
        backlight/thinkpad-acpi: issue backlight class events
      
      Fix up trivial conflicts in thinkpad-acpi support (backlight support
      already merged earlier).
      4e46aa08
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds · 9209e4bd
      Linus Torvalds authored
      * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
        leds: leds-pwm: Set led_classdev max_brightness
        leds: leds-lp3944.h - remove unneeded includes
        leds: use default-on trigger for Cobalt Qube
        leds: drivers/leds/leds-ss4200.c: fix return statement
        leds: leds-pca9532.h- indent with tabs, not spaces
        leds: Add LED class driver for regulator driven LEDs.
        leds: leds-cobalt-qube.c: use resource_size()
        leds: leds-cobalt-raq.c - use resource_size()
        leds: Add driver for ADP5520/ADP5501 MFD PMICs
        leds: Add driver for LT3593 controlled LEDs
        leds-ss4200: Check pci_enable_device return
        leds: leds-alix2c - take port address from MSR
        leds: LED driver for Intel NAS SS4200 series (v5)
      9209e4bd
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm · a695bc68
      Linus Torvalds authored
      * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
        PCMCIA: fix pxa2xx_lubbock modular build error
        [ARM] Update mach-types
        [ARM] pxa: fix no reference of cpu_is_pxa25x() in devices.c
        [ARM] pxa/cm-x300: add PWM backlight support
        revert "[ARM] pxa/cm-x300: add PWM backlight support"
        ARM: use flush_kernel_dcache_area() for dmabounce
        ARM: add size argument to __cpuc_flush_dcache_page
        ARM: 5848/1: kill flush_ioremap_region()
        ARM: cache-l2x0: make better use of background cache handling
        ARM: cache-l2x0: avoid taking spinlock for every iteration
        [ARM] Kirkwood: Add LaCie Network Space v2 support
        ARM: dove: fix the mm mmu flags of the pj4 procinfo
      a695bc68
    • H. Peter Anvin's avatar
      Makefile: Unexport LC_ALL instead of clearing it · 06b5dc64
      H. Peter Anvin authored
      Apparently not all versions of glibc and utilities treat an empty
      LC_ALL as nonexistent, causing error messages to be garbled.  Instead,
      explicitly unexport it from the environment.
      Reported-and-tested-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      LKML-Reference: <4B2AC394.4030108@redhat.com>
      Cc: Michal Marek <mmarek@sues.cz>
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      06b5dc64
    • Randy Dunlap's avatar
      printk: fix new kernel-doc warnings · 6485536b
      Randy Dunlap authored
      Fix kernel-doc warnings in printk.c:
      
      Warning(kernel/printk.c:1422): No description found for parameter 'dumper'
      Warning(kernel/printk.c:1422): Excess function parameter 'dump' description in 'kmsg_dump_register'
      Warning(kernel/printk.c:1451): No description found for parameter 'dumper'
      Warning(kernel/printk.c:1451): Excess function parameter 'dump' description in 'kmsg_dump_unregister'
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6485536b
    • Hisashi Hifumi's avatar
      readahead: add blk_run_backing_dev · 65a80b4c
      Hisashi Hifumi authored
      I added blk_run_backing_dev on page_cache_async_readahead so readahead I/O
      is unpluged to improve throughput on especially RAID environment.
      
      The normal case is, if page N become uptodate at time T(N), then T(N) <=
      T(N+1) holds.  With RAID (and NFS to some degree), there is no strict
      ordering, the data arrival time depends on runtime status of individual
      disks, which breaks that formula.  So in do_generic_file_read(), just
      after submitting the async readahead IO request, the current page may well
      be uptodate, so the page won't be locked, and the block device won't be
      implicitly unplugged:
      
                     if (PageReadahead(page))
                              page_cache_async_readahead()
                      if (!PageUptodate(page))
                                      goto page_not_up_to_date;
                      //...
      page_not_up_to_date:
                      lock_page_killable(page);
      
      Therefore explicit unplugging can help.
      
      Following is the test result with dd.
      
      #dd if=testdir/testfile of=/dev/null bs=16384
      
      -2.6.30-rc6
      1048576+0 records in
      1048576+0 records out
      17179869184 bytes (17 GB) copied, 224.182 seconds, 76.6 MB/s
      
      -2.6.30-rc6-patched
      1048576+0 records in
      1048576+0 records out
      17179869184 bytes (17 GB) copied, 206.465 seconds, 83.2 MB/s
      
      (7Disks RAID-0 Array)
      
      -2.6.30-rc6
      1054976+0 records in
      1054976+0 records out
      17284726784 bytes (17 GB) copied, 212.233 seconds, 81.4 MB/s
      
      -2.6.30-rc6-patched
      1054976+0 records out
      17284726784 bytes (17 GB) copied, 198.878 seconds, 86.9 MB/s
      
      (7Disks RAID-5 Array)
      
      The patch was found to improve performance with the SCST scsi target
      driver.  See
      http://sourceforge.net/mailarchive/forum.php?thread_name=a0272b440906030714g67eabc5k8f847fb1e538cc62%40mail.gmail.com&forum_name=scst-devel
      
      [akpm@linux-foundation.org: unbust comment layout]
      [akpm@linux-foundation.org: "fix" CONFIG_BLOCK=n]
      Signed-off-by: default avatarHisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
      Acked-by: default avatarWu Fengguang <fengguang.wu@intel.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Tested-by: default avatarRonald <intercommit@gmail.com>
      Cc: Bart Van Assche <bart.vanassche@gmail.com>
      Cc: Vladislav Bolkhovitin <vst@vlnb.net>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      65a80b4c
    • Anton Vorontsov's avatar
      rtc: set wakeup capability for I2C and SPI RTC drivers · 26b3c01f
      Anton Vorontsov authored
      RTC core won't allow wakeup alarms to be set if RTC devices' parent (i.e.
      i2c_client or spi_device) isn't wakeup capable.
      
      For I2C devices there is I2C_CLIENT_WAKE flag exists that we can pass via
      board info, and if set, I2C core will initialize wakeup capability.  For
      SPI devices there is no such flag at all.
      
      I believe that it's not platform code responsibility to allow or disallow
      wakeups, instead, drivers themselves should set the capability if a device
      can trigger wakeups.
      
      That's what drivers/base/power/sysfs.c says:
      
       * It is the responsibility of device drivers to enable (or disable)
       * wakeup signaling as part of changing device power states, respecting
       * the policy choices provided through the driver model.
      
      I2C and SPI RTC devices send wakeup events via interrupt lines, so we
      should set the wakeup capability if IRQ is routed.
      
      Ideally we should also check irq for wakeup capability before setting
      device's capability, i.e.
      
      	if (can_irq_wake(irq))
      		device_set_wakeup_capable(&client->dev, 1);
      
      But there is no can_irq_wake() call exist, and it is not that trivial to
      implement it for all interrupts controllers and complex/cascaded setups.
      
      drivers/base/power/sysfs.c also covers these cases:
      
       * Devices may not be able to generate wakeup events from all power
       * states.  Also, the events may be ignored in some configurations;
       * for example, they might need help from other devices that aren't
       * active
      
      So there is no guarantee that wakeup will actually work, and so I think
      there is no point in being pedantic wrt checking IRQ wakeup capability.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      26b3c01f