12 Nov, 2009

27 commits


11 Nov, 2009

1 commit


04 Nov, 2009

5 commits

  • Linus Torvalds
     
  • * 'for-linus' of git://github.com/at91linux/linux-2.6-at91:
    at91: at91sam9g45 family: identify several chip versions
    avr32: add two new at91 to cpu.h definition

    Linus Torvalds
     
  • cpu_is_xxx() macros are identifying generic at91sam9g45 chip. This patch adds
    the capacity to differentiate Engineering Samples and final lots through the
    inclusion of at91_cpu_fully_identify() and the related chip IDs with chip
    version field preserved.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Hans-Christian Egtvedt

    Nicolas Ferre
     
  • Somme common drivers will need those at91 cpu_is_xxx() definitions. As
    at91sam9g10 and at91sam9g45 are on the way to linus' tree, here is the patch
    that adds those chips to cpu.h in AVR32 architecture.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Haavard Skinnemoen

    Nicolas Ferre
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (38 commits)
    MIPS: O32: Fix ppoll
    MIPS: Oprofile: Rename cpu_type from godson2 to loongson2
    MIPS: Alchemy: Fix hang with high-frequency edge interrupts
    MIPS: TXx9: Fix spi-baseclk value
    MIPS: bcm63xx: Set the correct BCM3302 CPU name
    MIPS: Loongson 2: Set cpu_has_dc_aliases and cpu_icache_snoops_remote_store
    MIPS: Avoid potential hazard on Context register
    MIPS: Octeon: Use lockless interrupt controller operations when possible.
    MIPS: Octeon: Use write_{un,}lock_irq{restore,save} to set irq affinity
    MIPS: Set S-cache linesize to 64-bytes for MTI's S-cache
    MIPS: SMTC: Avoid queing multiple reschedule IPIs
    MIPS: GCMP: Avoid accessing registers when they are not present
    MIPS: GIC: Random fixes and enhancements.
    MIPS: CMP: Fix memory barriers for correct operation of amon_cpu_start
    MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands
    MIPS: SPRAM: Clean up support code a little
    MIPS: 1004K: Enable SPRAM support.
    MIPS: Malta: Enable PCI 2.1 compatibility in PIIX4
    MIPS: Kconfig: Fix duplicate default value for MIPS_L1_CACHE_SHIFT.
    MIPS: MTI: Fix accesses to device registers on MIPS boards
    ...

    Linus Torvalds
     

03 Nov, 2009

7 commits

  • * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM: Remove some debug messages producing too much noise
    PM: Fix warning on suspend errors
    PM / Hibernate: Add newline to load_image() fail path
    PM / Hibernate: Fix error handling in save_image()
    PM / Hibernate: Fix blkdev refleaks
    PM / yenta: Split resume into early and late parts (rev. 4)

    Linus Torvalds
     
  • nr_processes() returns the sum of the per cpu counter process_counts for
    all online CPUs. This counter is incremented for the current CPU on
    fork() and decremented for the current CPU on exit(). Since a process
    does not necessarily fork and exit on the same CPU the process_count for
    an individual CPU can be either positive or negative and effectively has
    no meaning in isolation.

    Therefore calculating the sum of process_counts over only the online
    CPUs omits the processes which were started or stopped on any CPU which
    has since been unplugged. Only the sum of process_counts across all
    possible CPUs has meaning.

    The only caller of nr_processes() is proc_root_getattr() which
    calculates the number of links to /proc as
    stat->nlink = proc_root.nlink + nr_processes();

    You don't have to be all that unlucky for the nr_processes() to return a
    negative value leading to a negative number of links (or rather, an
    apparently enormous number of links). If this happens then you can get
    failures where things like "ls /proc" start to fail because they got an
    -EOVERFLOW from some stat() call.

    Example with some debugging inserted to show what goes on:
    # ps haux|wc -l
    nr_processes: CPU0: 90
    nr_processes: CPU1: 1030
    nr_processes: CPU2: -900
    nr_processes: CPU3: -136
    nr_processes: TOTAL: 84
    proc_root_getattr. nlink 12 + nr_processes() 84 = 96
    84
    # echo 0 >/sys/devices/system/cpu/cpu1/online
    # ps haux|wc -l
    nr_processes: CPU0: 85
    nr_processes: CPU2: -901
    nr_processes: CPU3: -137
    nr_processes: TOTAL: -953
    proc_root_getattr. nlink 12 + nr_processes() -953 = -941
    75
    # stat /proc/
    nr_processes: CPU0: 84
    nr_processes: CPU2: -901
    nr_processes: CPU3: -137
    nr_processes: TOTAL: -954
    proc_root_getattr. nlink 12 + nr_processes() -954 = -942
    File: `/proc/'
    Size: 0 Blocks: 0 IO Block: 1024 directory
    Device: 3h/3d Inode: 1 Links: 4294966354
    Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2009-11-03 09:06:55.000000000 +0000
    Modify: 2009-11-03 09:06:55.000000000 +0000
    Change: 2009-11-03 09:06:55.000000000 +0000

    I'm not 100% convinced that the per_cpu regions remain valid for offline
    CPUs, although my testing suggests that they do. If not then I think the
    correct solution would be to aggregate the process_count for a given CPU
    into a global base value in cpu_down().

    This bug appears to pre-date the transition to git and it looks like it
    may even have been present in linux-2.6.0-test7-bk3 since it looks like
    the code Rusty patched in http://lwn.net/Articles/64773/ was already
    wrong.

    Signed-off-by: Ian Campbell
    Cc: Andrew Morton
    Cc: Rusty Russell
    Signed-off-by: Linus Torvalds

    Ian Campbell
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: gpio-keys - use IRQF_SHARED
    Input: winbond-cir - select LEDS_TRIGGERS
    Input: i8042 - try to get stable CTR value when initializing
    Input: atkbd - add a quirk for OQO 01+ multimedia keys

    Linus Torvalds
     
  • * 'fixes-s3c-2632-rc5' of git://git.fluff.org/bjdooks/linux:
    ARM: S3C2410: Fix sparse warnings in arch/arm/mach-s3c2410/gpio.c
    ARM: S3C2440: mini2440: Fix spare warnings
    ARM: S3C24XX: Fix warnings in arch/arm/plat-s3c24xx/gpio.c
    ARM: S3C2440: mini2440: Fix missing CONFIG_S3C_DEV_USB_HOST
    ARM: S3C24XX: arch/arm/plat-s3c24xx: Move dereference after NULL test
    ARM: S3C: Fix adc function exports
    ARM: S3C2410: Fix link if CONFIG_S3C2410_IOTIMING is not set
    ARM: S3C24XX: Introduce S3C2442B CPU
    ARM: S3C24XX: Define a macro to avoid compilation error
    ARM: S3C: Add info for supporting circular DMA buffers
    ARM: S3C64XX: Set rate of crystal mux
    ARM: S3C64XX: Fix S3C64XX_CLKDIV0_ARM_MASK value

    Linus Torvalds
     
  • * 'i2c-fixes' of git://git.fluff.org/bjdooks/linux:
    i2c-mpc: Do not generate STOP after read.
    i2c: imx: disable clock when it's possible to save power.
    i2c: imx: only imx1 needs disable delay
    i2c: imx: check busy bit when START/STOP

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
    nilfs2: add zero-fill for new btree node buffers
    nilfs2: fix irregular checkpoint creation due to data flush
    nilfs2: fix dirty page accounting leak causing hang at write

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    mac80211: check interface is down before type change
    cfg80211: fix NULL ptr deref
    libertas if_usb: Fix crash on 64-bit machines
    mac80211: fix reason code output endianness
    mac80211: fix addba timer
    ath9k: fix misplaced semicolon on rate control
    b43: Fix DMA TX bounce buffer copying
    mac80211: fix BSS leak
    rt73usb.c : more ids
    ipw2200: fix oops on missing firmware
    gre: Fix dev_addr clobbering for gretap
    sky2: set carrier off in probe
    net: fix sk_forward_alloc corruption
    pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
    r8169: Fix card drop incoming VLAN tagged MTU byte large jumbo frames
    ibmtr: possible Read buffer overflow?
    net: Fix RPF to work with policy routing
    net: fix kmemcheck annotations
    e1000e: rework disable K1 at 1000Mbps for 82577/82578
    e1000e: config PHY via software after resets
    ...

    Linus Torvalds