25 May, 2010

13 commits

  • We don't really need the extra variable 'i' in mpol_parse_str(). The only
    use is as the the loop variable. Then, it's assigned to 'mode'. Just use
    mode, and loose the 'uninitialized_var()' macro.

    Signed-off-by: Lee Schermerhorn
    Cc: Hugh Dickins
    Cc: Ravikiran Thirumalai
    Cc: KOSAKI Motohiro
    Cc: Christoph Lameter
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lee Schermerhorn
     
  • No need to call mpol_set_nodemask() when we have no context for the
    mempolicy. This can occur when we're parsing a tmpfs 'mpol' mount option.
    Just save the raw nodemask in the mempolicy's w.user_nodemask member for
    use when a tmpfs/shmem file is created. mpol_shared_policy_init() will
    "contextualize" the policy for the new file based on the creating task's
    context.

    Signed-off-by: Lee Schermerhorn
    Cc: Hugh Dickins
    Cc: Ravikiran Thirumalai
    Cc: KOSAKI Motohiro
    Cc: Christoph Lameter
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lee Schermerhorn
     
  • Lee's patch "mempolicy: use MPOL_PREFERRED for system-wide default policy"
    has made the MPOL_DEFAULT only used in the memory policy APIs. So, no
    need to check in __mpol_equal also. Also get rid of mpol_match_intent()
    and move its logic directly into __mpol_equal().

    Signed-off-by: Bob Liu
    Acked-by: David Rientjes
    Cc: Andi Kleen
    Cc: Lee Schermerhorn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bob Liu
     
  • In policy_zonelist() mode MPOL_INTERLEAVE shouldn't happen, so fall
    through to BUG() instead of break to return. I also fixed the comment.

    Signed-off-by: Bob Liu
    Acked-by: David Rientjes
    Cc: Andi Kleen
    Cc: Lee Schermerhorn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bob Liu
     
  • 1. In funtion is_valid_nodemask(), varibable k will be inited to 0 in
    the following loop, needn't init to policy_zone anymore.

    2. (MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES) has already defined
    to MPOL_MODE_FLAGS in mempolicy.h.

    Signed-off-by: Bob Liu
    Acked-by: David Rientjes
    Cc: KOSAKI Motohiro
    Cc: Christoph Lameter
    Cc: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bob Liu
     
  • putback_lru_page() never can fail. So it doesn't matter count of "the
    number of pages put back".

    In addition, users of this functions don't use return value.

    Let's remove unnecessary code.

    Signed-off-by: Minchan Kim
    Reviewed-by: Rik van Riel
    Reviewed-by: KOSAKI Motohiro
    Reviewed-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • prep_new_page() will call set_page_private(page, 0) to initialise the
    page, so the code is redundant.

    Signed-off-by: Huang Shijie
    Reviewed-by: Minchan Kim
    Acked-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Huang Shijie
     
  • We need to put mem_map high when virtual memmap is not used.

    before this patch
    free mem pfn range on first node:
    [ 0.000000] 19 - 1f
    [ 0.000000] 28 40 - 80 95
    [ 0.000000] 702 740 - 1000 1000
    [ 0.000000] 347c - 347e
    [ 0.000000] 34e7 3500 - 3b80 3b8b
    [ 0.000000] 73b8b 73bc0 - 73c00 73c00
    [ 0.000000] 73ddd - 73e00
    [ 0.000000] 73fdd - 74000
    [ 0.000000] 741dd - 74200
    [ 0.000000] 743dd - 74400
    [ 0.000000] 745dd - 74600
    [ 0.000000] 747dd - 74800
    [ 0.000000] 749dd - 74a00
    [ 0.000000] 74bdd - 74c00
    [ 0.000000] 74ddd - 74e00
    [ 0.000000] 74fdd - 75000
    [ 0.000000] 751dd - 75200
    [ 0.000000] 753dd - 75400
    [ 0.000000] 755dd - 75600
    [ 0.000000] 757dd - 75800
    [ 0.000000] 759dd - 75a00
    [ 0.000000] 79bdd 79c00 - 7d540 7d550
    [ 0.000000] 7f745 - 7f750
    [ 0.000000] 10000b 100040 - 2080000 2080000
    so only 79c00 - 7d540 are major free block under 4g...

    after this patch, we will get
    [ 0.000000] 19 - 1f
    [ 0.000000] 28 40 - 80 95
    [ 0.000000] 702 740 - 1000 1000
    [ 0.000000] 347c - 347e
    [ 0.000000] 34e7 3500 - 3600 3600
    [ 0.000000] 37dd - 3800
    [ 0.000000] 39dd - 3a00
    [ 0.000000] 3bdd - 3c00
    [ 0.000000] 3ddd - 3e00
    [ 0.000000] 3fdd - 4000
    [ 0.000000] 41dd - 4200
    [ 0.000000] 43dd - 4400
    [ 0.000000] 45dd - 4600
    [ 0.000000] 47dd - 4800
    [ 0.000000] 49dd - 4a00
    [ 0.000000] 4bdd - 4c00
    [ 0.000000] 4ddd - 4e00
    [ 0.000000] 4fdd - 5000
    [ 0.000000] 51dd - 5200
    [ 0.000000] 53dd - 5400
    [ 0.000000] 95dd 9600 - 7d540 7d550
    [ 0.000000] 7f745 - 7f750
    [ 0.000000] 17000b 170040 - 2080000 2080000
    we will have 9600 - 7d540 for major free block...

    sparse-vmemmap path already used __alloc_bootmem_node_high()

    Signed-off-by: Yinghai Lu
    Cc: Jiri Slaby
    Cc: "H. Peter Anvin"
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Christoph Lameter
    Cc: Greg Thelen
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • …re merging to the tail of the free lists

    In order to reduce fragmentation, this patch classifies freed pages in two
    groups according to their probability of being part of a high order merge.
    Pages belonging to a compound whose next-highest buddy is free are more
    likely to be part of a high order merge in the near future, so they will
    be added at the tail of the freelist. The remaining pages are put at the
    front of the freelist.

    In this way, the pages that are more likely to cause a big merge are kept
    free longer. Consequently there is a tendency to aggregate the
    long-living allocations on a subset of the compounds, reducing the
    fragmentation.

    This heuristic was tested on three machines, x86, x86-64 and ppc64 with
    3GB of RAM in each machine. The tests were kernbench, netperf, sysbench
    and STREAM for performance and a high-order stress test for huge page
    allocations.

    KernBench X86
    Elapsed mean 374.77 ( 0.00%) 375.10 (-0.09%)
    User mean 649.53 ( 0.00%) 650.44 (-0.14%)
    System mean 54.75 ( 0.00%) 54.18 ( 1.05%)
    CPU mean 187.75 ( 0.00%) 187.25 ( 0.27%)

    KernBench X86-64
    Elapsed mean 94.45 ( 0.00%) 94.01 ( 0.47%)
    User mean 323.27 ( 0.00%) 322.66 ( 0.19%)
    System mean 36.71 ( 0.00%) 36.50 ( 0.57%)
    CPU mean 380.75 ( 0.00%) 381.75 (-0.26%)

    KernBench PPC64
    Elapsed mean 173.45 ( 0.00%) 173.74 (-0.17%)
    User mean 587.99 ( 0.00%) 587.95 ( 0.01%)
    System mean 60.60 ( 0.00%) 60.57 ( 0.05%)
    CPU mean 373.50 ( 0.00%) 372.75 ( 0.20%)

    Nothing notable for kernbench.

    NetPerf UDP X86
    64 42.68 ( 0.00%) 42.77 ( 0.21%)
    128 85.62 ( 0.00%) 85.32 (-0.35%)
    256 170.01 ( 0.00%) 168.76 (-0.74%)
    1024 655.68 ( 0.00%) 652.33 (-0.51%)
    2048 1262.39 ( 0.00%) 1248.61 (-1.10%)
    3312 1958.41 ( 0.00%) 1944.61 (-0.71%)
    4096 2345.63 ( 0.00%) 2318.83 (-1.16%)
    8192 4132.90 ( 0.00%) 4089.50 (-1.06%)
    16384 6770.88 ( 0.00%) 6642.05 (-1.94%)*

    NetPerf UDP X86-64
    64 148.82 ( 0.00%) 154.92 ( 3.94%)
    128 298.96 ( 0.00%) 312.95 ( 4.47%)
    256 583.67 ( 0.00%) 626.39 ( 6.82%)
    1024 2293.18 ( 0.00%) 2371.10 ( 3.29%)
    2048 4274.16 ( 0.00%) 4396.83 ( 2.79%)
    3312 6356.94 ( 0.00%) 6571.35 ( 3.26%)
    4096 7422.68 ( 0.00%) 7635.42 ( 2.79%)*
    8192 12114.81 ( 0.00%)* 12346.88 ( 1.88%)
    16384 17022.28 ( 0.00%)* 17033.19 ( 0.06%)*
    1.64% 2.73%

    NetPerf UDP PPC64
    64 49.98 ( 0.00%) 50.25 ( 0.54%)
    128 98.66 ( 0.00%) 100.95 ( 2.27%)
    256 197.33 ( 0.00%) 191.03 (-3.30%)
    1024 761.98 ( 0.00%) 785.07 ( 2.94%)
    2048 1493.50 ( 0.00%) 1510.85 ( 1.15%)
    3312 2303.95 ( 0.00%) 2271.72 (-1.42%)
    4096 2774.56 ( 0.00%) 2773.06 (-0.05%)
    8192 4918.31 ( 0.00%) 4793.59 (-2.60%)
    16384 7497.98 ( 0.00%) 7749.52 ( 3.25%)

    The tests are run to have confidence limits within 1%. Results marked
    with a * were not confident although in this case, it's only outside by
    small amounts. Even with some results that were not confident, the
    netperf UDP results were generally positive.

    NetPerf TCP X86
    64 652.25 ( 0.00%)* 648.12 (-0.64%)*
    23.80% 22.82%
    128 1229.98 ( 0.00%)* 1220.56 (-0.77%)*
    21.03% 18.90%
    256 2105.88 ( 0.00%) 1872.03 (-12.49%)*
    1.00% 16.46%
    1024 3476.46 ( 0.00%)* 3548.28 ( 2.02%)*
    13.37% 11.39%
    2048 4023.44 ( 0.00%)* 4231.45 ( 4.92%)*
    9.76% 12.48%
    3312 4348.88 ( 0.00%)* 4396.96 ( 1.09%)*
    6.49% 8.75%
    4096 4726.56 ( 0.00%)* 4877.71 ( 3.10%)*
    9.85% 8.50%
    8192 4732.28 ( 0.00%)* 5777.77 (18.10%)*
    9.13% 13.04%
    16384 5543.05 ( 0.00%)* 5906.24 ( 6.15%)*
    7.73% 8.68%

    NETPERF TCP X86-64
    netperf-tcp-vanilla-netperf netperf-tcp
    tcp-vanilla pgalloc-delay
    64 1895.87 ( 0.00%)* 1775.07 (-6.81%)*
    5.79% 4.78%
    128 3571.03 ( 0.00%)* 3342.20 (-6.85%)*
    3.68% 6.06%
    256 5097.21 ( 0.00%)* 4859.43 (-4.89%)*
    3.02% 2.10%
    1024 8919.10 ( 0.00%)* 8892.49 (-0.30%)*
    5.89% 6.55%
    2048 10255.46 ( 0.00%)* 10449.39 ( 1.86%)*
    7.08% 7.44%
    3312 10839.90 ( 0.00%)* 10740.15 (-0.93%)*
    6.87% 7.33%
    4096 10814.84 ( 0.00%)* 10766.97 (-0.44%)*
    6.86% 8.18%
    8192 11606.89 ( 0.00%)* 11189.28 (-3.73%)*
    7.49% 5.55%
    16384 12554.88 ( 0.00%)* 12361.22 (-1.57%)*
    7.36% 6.49%

    NETPERF TCP PPC64
    netperf-tcp-vanilla-netperf netperf-tcp
    tcp-vanilla pgalloc-delay
    64 594.17 ( 0.00%) 596.04 ( 0.31%)*
    1.00% 2.29%
    128 1064.87 ( 0.00%)* 1074.77 ( 0.92%)*
    1.30% 1.40%
    256 1852.46 ( 0.00%)* 1856.95 ( 0.24%)
    1.25% 1.00%
    1024 3839.46 ( 0.00%)* 3813.05 (-0.69%)
    1.02% 1.00%
    2048 4885.04 ( 0.00%)* 4881.97 (-0.06%)*
    1.15% 1.04%
    3312 5506.90 ( 0.00%) 5459.72 (-0.86%)
    4096 6449.19 ( 0.00%) 6345.46 (-1.63%)
    8192 7501.17 ( 0.00%) 7508.79 ( 0.10%)
    16384 9618.65 ( 0.00%) 9490.10 (-1.35%)

    There was a distinct lack of confidence in the X86* figures so I included
    what the devation was where the results were not confident. Many of the
    results, whether gains or losses were within the standard deviation so no
    solid conclusion can be reached on performance impact. Looking at the
    figures, only the X86-64 ones look suspicious with a few losses that were
    outside the noise. However, the results were so unstable that without
    knowing why they vary so much, a solid conclusion cannot be reached.

    SYSBENCH X86
    sysbench-vanilla pgalloc-delay
    1 7722.85 ( 0.00%) 7756.79 ( 0.44%)
    2 14901.11 ( 0.00%) 13683.44 (-8.90%)
    3 15171.71 ( 0.00%) 14888.25 (-1.90%)
    4 14966.98 ( 0.00%) 15029.67 ( 0.42%)
    5 14370.47 ( 0.00%) 14865.00 ( 3.33%)
    6 14870.33 ( 0.00%) 14845.57 (-0.17%)
    7 14429.45 ( 0.00%) 14520.85 ( 0.63%)
    8 14354.35 ( 0.00%) 14362.31 ( 0.06%)

    SYSBENCH X86-64
    1 17448.70 ( 0.00%) 17484.41 ( 0.20%)
    2 34276.39 ( 0.00%) 34251.00 (-0.07%)
    3 50805.25 ( 0.00%) 50854.80 ( 0.10%)
    4 66667.10 ( 0.00%) 66174.69 (-0.74%)
    5 66003.91 ( 0.00%) 65685.25 (-0.49%)
    6 64981.90 ( 0.00%) 65125.60 ( 0.22%)
    7 64933.16 ( 0.00%) 64379.23 (-0.86%)
    8 63353.30 ( 0.00%) 63281.22 (-0.11%)
    9 63511.84 ( 0.00%) 63570.37 ( 0.09%)
    10 62708.27 ( 0.00%) 63166.25 ( 0.73%)
    11 62092.81 ( 0.00%) 61787.75 (-0.49%)
    12 61330.11 ( 0.00%) 61036.34 (-0.48%)
    13 61438.37 ( 0.00%) 61994.47 ( 0.90%)
    14 62304.48 ( 0.00%) 62064.90 (-0.39%)
    15 63296.48 ( 0.00%) 62875.16 (-0.67%)
    16 63951.76 ( 0.00%) 63769.09 (-0.29%)

    SYSBENCH PPC64
    -sysbench-pgalloc-delay-sysbench
    sysbench-vanilla pgalloc-delay
    1 7645.08 ( 0.00%) 7467.43 (-2.38%)
    2 14856.67 ( 0.00%) 14558.73 (-2.05%)
    3 21952.31 ( 0.00%) 21683.64 (-1.24%)
    4 27946.09 ( 0.00%) 28623.29 ( 2.37%)
    5 28045.11 ( 0.00%) 28143.69 ( 0.35%)
    6 27477.10 ( 0.00%) 27337.45 (-0.51%)
    7 26489.17 ( 0.00%) 26590.06 ( 0.38%)
    8 26642.91 ( 0.00%) 25274.33 (-5.41%)
    9 25137.27 ( 0.00%) 24810.06 (-1.32%)
    10 24451.99 ( 0.00%) 24275.85 (-0.73%)
    11 23262.20 ( 0.00%) 23674.88 ( 1.74%)
    12 24234.81 ( 0.00%) 23640.89 (-2.51%)
    13 24577.75 ( 0.00%) 24433.50 (-0.59%)
    14 25640.19 ( 0.00%) 25116.52 (-2.08%)
    15 26188.84 ( 0.00%) 26181.36 (-0.03%)
    16 26782.37 ( 0.00%) 26255.99 (-2.00%)

    Again, there is little to conclude here. While there are a few losses,
    the results vary by +/- 8% in some cases. They are the results of most
    concern as there are some large losses but it's also within the variance
    typically seen between kernel releases.

    The STREAM results varied so little and are so verbose that I didn't
    include them here.

    The final test stressed how many huge pages can be allocated. The
    absolute number of huge pages allocated are the same with or without the
    page. However, the "unusability free space index" which is a measure of
    external fragmentation was slightly lower (lower is better) throughout the
    lifetime of the system. I also measured the latency of how long it took
    to successfully allocate a huge page. The latency was slightly lower and
    on X86 and PPC64, more huge pages were allocated almost immediately from
    the free lists. The improvement is slight but there.

    [mel@csn.ul.ie: Tested, reworked for less branches]
    [czoccolo@gmail.com: fix oops by checking pfn_valid_within()]
    Signed-off-by: Mel Gorman <mel@csn.ul.ie>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Acked-by: Rik van Riel <riel@redhat.com>
    Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
    Cc: Corrado Zoccolo <czoccolo@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

    Corrado Zoccolo
     
  • Shaohua Li reported parallel file copy on tmpfs can lead to OOM killer.
    This is regression of caused by commit 9ff473b9a7 ("vmscan: evict
    streaming IO first"). Wow, It is 2 years old patch!

    Currently, tmpfs file cache is inserted active list at first. This means
    that the insertion doesn't only increase numbers of pages in anon LRU, but
    it also reduces anon scanning ratio. Therefore, vmscan will get totally
    confused. It scans almost only file LRU even though the system has plenty
    unused tmpfs pages.

    Historically, lru_cache_add_active_anon() was used for two reasons.
    1) Intend to priotize shmem page rather than regular file cache.
    2) Intend to avoid reclaim priority inversion of used once pages.

    But we've lost both motivation because (1) Now we have separate anon and
    file LRU list. then, to insert active list doesn't help such priotize.
    (2) In past, one pte access bit will cause page activation. then to
    insert inactive list with pte access bit mean higher priority than to
    insert active list. Its priority inversion may lead to uninteded lru
    chun. but it was already solved by commit 645747462 (vmscan: detect
    mapped file pages used only once). (Thanks Hannes, you are great!)

    Thus, now we can use lru_cache_add_anon() instead.

    Signed-off-by: KOSAKI Motohiro
    Reported-by: Shaohua Li
    Reviewed-by: Wu Fengguang
    Reviewed-by: Johannes Weiner
    Reviewed-by: Rik van Riel
    Reviewed-by: Minchan Kim
    Acked-by: Hugh Dickins
    Cc: Henrique de Moraes Holschuh
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • fix the following 'make includecheck' warnings:

    arch/xtensa/kernel/vectors.S: asm/processor.h is included more than once.
    arch/xtensa/kernel/vectors.S: asm/ptrace.h is included more than once.

    Signed-off-by: Jaswinder Singh Rajput
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jaswinder Singh Rajput
     
  • Also remove lots of unused irq_cpustat fields.

    Signed-off-by: Christoph Hellwig
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Architectures that handle DMA-non-coherent memory need to set
    ARCH_KMALLOC_MINALIGN to make sure that kmalloc'ed buffer is DMA-safe: the
    buffer doesn't share a cache with the others.

    Signed-off-by: FUJITA Tomonori
    Cc: Chris Zankel
    Acked-by: Pekka Enberg
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     

24 May, 2010

25 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
    cmd640: fix kernel oops in test_irq() method
    pdc202xx_old: ignore "FIFO empty" bit in test_irq() method
    pdc202xx_old: wire test_irq() method for PDC2026x
    IDE: pass IRQ flags to the IDE core
    ide: fix comment typo in ide.h

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (30 commits)
    Blackfin: SMP: fix continuation lines
    Blackfin: acvilon: fix timeout usage for I2C
    Blackfin: fix typo in BF537 IRQ comment
    Blackfin: unify duplicate MEM_MT48LC32M8A2_75 kconfig options
    Blackfin: set ARCH_KMALLOC_MINALIGN
    Blackfin: use atomic kmalloc in L1 alloc so it too can be atomic
    Blackfin: another year of changes (update copyright in boot log)
    Blackfin: optimize strncpy a bit
    Blackfin: isram: clean up ITEST_COMMAND macro and improve the selftests
    Blackfin: move string functions to normal lib/ assembly
    Blackfin: SIC: cut down on IAR MMR reads a bit
    Blackfin: bf537-minotaur: fix build errors due to header changes
    Blackfin: kgdb: pass up the CC register instead of a 0 stub
    Blackfin: handle HW errors in the new "FAULT" printing code
    Blackfin: show the whole accumulator in the pseudo DBG insn
    Blackfin: support all possible registers in the pseudo instructions
    Blackfin: add support for the DBG (debug output) pseudo insn
    Blackfin: change the BUG opcode to an unused 16-bit opcode
    Blackfin: allow NMI watchdog to be used w/RETN as a scratch reg
    Blackfin: add support for the DBGA (debug assert) pseudo insn
    ...

    Linus Torvalds
     
  • * 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
    uml: Pushdown the bkl from harddog_kern ioctl
    sunrpc: Pushdown the bkl from sunrpc cache ioctl
    sunrpc: Pushdown the bkl from ioctl
    autofs4: Pushdown the bkl from ioctl
    uml: Convert to unlocked_ioctls to remove implicit BKL
    ncpfs: BKL ioctl pushdown
    coda: Clean-up whitespace problems in pioctl.c
    coda: BKL ioctl pushdown
    drivers: Push down BKL into various drivers
    isdn: Push down BKL into ioctl functions
    scsi: Push down BKL into ioctl functions
    dvb: Push down BKL into ioctl functions
    smbfs: Push down BKL into ioctl function
    coda/psdev: Remove BKL from ioctl function
    um/mmapper: Remove BKL usage
    sn_hwperf: Kill BKL usage
    hfsplus: Push down BKL into ioctl function

    Linus Torvalds
     
  • * git://git.infradead.org/battery-2.6:
    ds2760_battery: Document ABI change
    ds2760_battery: Make charge_now and charge_full writeable
    power_supply: Add support for writeable properties
    power_supply: Use attribute groups
    power_supply: Add test_power driver
    tosa_battery: Fix build error due to direct driver_data usage
    wm97xx_battery: Quieten sparse warning (bat_set_pdata not declared)
    ds2782_battery: Get rid of magic numbers in driver_data
    ds2782_battery: Add support for ds2786 battery gas gauge
    pda_power: Add function callbacks for suspend and resume
    wm831x_power: Use genirq
    Driver for Zipit Z2 battery chip
    ds2782_battery: Fix clientdata on removal

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'timers-for-linus-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timers: Fix slack calculation for expired timers
    timekeeping: Fix timezone update

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (25 commits)
    sh: fix up sh7785lcr_32bit_defconfig.
    arch/sh/lib/strlen.S: Checkpatch cleanup
    sh: fix up sh7786 dmaengine build.
    sh: guard cookie consistency across termination in the DMA driver
    sh: prevent the DMA driver from unloading, while in use
    sh: fix Oops in the serial SCI driver
    sh: allow platforms to specify SD-card supported voltages
    mmc: let MFD's provide supported Vdd card voltages to tmio_mmc
    sh: disable SD-card write-protection detection on kfr2r09
    mfd: pass platform flags down to the tmio_mmc driver
    tmio: add a platform flag to disable card write-protection detection
    sh: Add SDHI DMA support to migor
    sh: Add SDHI DMA support to kfr2r09
    sh: Add SDHI DMA support to ms7724se
    sh: Add SDHI DMA support to ecovec
    mmc: add DMA support to tmio_mmc driver, when used on SuperH
    sh: prepare the SDHI MFD driver to pass DMA configuration to tmio_mmc.c
    mmc: prepare tmio_mmc for passing of DMA configuration from the MFD cell
    sh: add DMA slave definitions to sh7724
    sh: add DMA slaves for two SDHI controllers to sh7722
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.open-osd.org/linux-open-osd:
    exofs: confusion between kmap() and kmap_atomic() api
    exofs: Add default address_space_operations

    Linus Torvalds
     
  • This reverts commit 03ceedea972a82d343fa5c2528b3952fa9e615d5, since it
    breaks resume from suspend-to-ram on Rafael's Acer Ferrari One.
    NetworkManager thinks everything is ok, but it can't connect to the AP
    to get an IP address after the resume.

    In fact, it even breaks resume for non-ath9k chipsets: reverting it also
    fixes Rafael's Toshiba Protege R500 with the iwlagn driver. As Johannes
    says:

    "Indeed, this patch needs to be reverted. That mac80211 change is wrong
    and completely unnecessary."

    Reported-and-requested-by: Rafael J. Wysocki
    Acked-by: Johannes Berg
    Cc: Daniel Yingqiang Ma
    Cc: John W. Linville
    Cc: David Miller
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:
    fat: convert to unlocked_ioctl
    fat: Cleanup nls_unload() usage
    fat: use pack_hex_byte() instead of custom one

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    9p: Optimize TCREATE by eliminating a redundant fid clone.
    9p: cleanup: remove unneeded assignment
    9p: Add mksock support
    fs/9p: Make sure we properly instantiate dentry.
    9p: add 9P2000.L rename operation
    9p: add 9P2000.L statfs operation
    9p: VFS switches for 9p2000.L: VFS switches
    9p: VFS switches for 9p2000.L: protocol and client changes

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (59 commits)
    ceph: reuse mon subscribe message instead of allocated anew
    ceph: avoid resending queued message to monitor
    ceph: Storage class should be before const qualifier
    ceph: all allocation functions should get gfp_mask
    ceph: specify max_bytes on readdir replies
    ceph: cleanup pool op strings
    ceph: Use kzalloc
    ceph: use common helper for aborted dir request invalidation
    ceph: cope with out of order (unsafe after safe) mds reply
    ceph: save peer feature bits in connection structure
    ceph: resync headers with userland
    ceph: use ceph. prefix for virtual xattrs
    ceph: throw out dirty caps metadata, data on session teardown
    ceph: attempt mds reconnect if mds closes our session
    ceph: clean up send_mds_reconnect interface
    ceph: wait for mds OPEN reply to indicate reconnect success
    ceph: only send cap releases when mds is OPEN|HUNG
    ceph: dicard cap releases on mds restart
    ceph: make mon client statfs handling more generic
    ceph: drop src address(es) from message header [new protocol feature]
    ...

    Linus Torvalds
     
  • * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
    of: change of_match_device to work with struct device
    of: Remove duplicate fields from of_platform_driver
    drivercore: Add of_match_table to the common device drivers
    arch/microblaze: Move dma_mask from of_device into pdev_archdata
    arch/powerpc: Move dma_mask from of_device into pdev_archdata
    of: eliminate of_device->node and dev_archdata->{of,prom}_node
    of: Always use 'struct device.of_node' to get device node pointer.
    i2c/of: Allow device node to be passed via i2c_board_info
    driver-core: Add device node pointer to struct device
    of: protect contents of of_platform.h and of_device.h
    of/flattree: Make unflatten_device_tree() safe to call from any arch
    of/flattree: make of_fdt.h safe to unconditionally include.

    Linus Torvalds
     
  • * 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
    slub: Use alloc_pages_exact_node() for page allocation
    slub: __kmalloc_node_track_caller should trace kmalloc_large_node case
    slub: Potential stack overflow
    crypto: Use ARCH_KMALLOC_MINALIGN for CRYPTO_MINALIGN now that it's exposed
    mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to
    mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to
    mm: Move ARCH_SLAB_MINALIGN and ARCH_KMALLOC_MINALIGN to
    slab: Fix missing DEBUG_SLAB last user
    slab: add memory hotplug support
    slab: Fix continuation lines

    Linus Torvalds
     
  • Add build testing using 'O=builddir'.

    Add build testing with various kconfig symbols disabled, listing
    common ones that are known to cause build problems.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • The function name must be followed by a space, hypen, space, and a
    short description.

    Signed-off-by: Ben Hutchings
    Signed-off-by: Randy Dunlap
    Cc: Eric Moore
    Signed-off-by: Linus Torvalds

    Ben Hutchings
     
  • scsi_scan.c: fix incorrectly formatted kernel-doc notation
    & convert documentation of 2 functions into kernel-doc.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • documentation: slightly more correct value for MAP_HUGETLB in map_hugetlb.c

    still not correct for alpha, mips, parisc or xtensa but working out of
    the box in the most common architectures without having to deal with
    complicated macros or including architecture specific headers.

    Signed-off-by: Carlo Marcelo Arenas Belon
    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Carlo Marcelo Arenas Belon
     
  • Documentation/timers/hpet_example.c: fcntl.h is included more than once.
    Documentation/timers/hpet_example.c: signal.h is included more than once.

    Signed-off-by: Andrea Gelmini
    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Andrea Gelmini
     
  • Update explanation of mmotm.
    Add explanation of drivers/staging/.

    Signed-off-by: Randy Dunlap
    Acked-by: Jonathan Corbet
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Add info on maintainers and persistent posting.
    Update git home page.

    Signed-off-by: Randy Dunlap
    Acked-by: Jonathan Corbet
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • In the example the module_init function should be static.

    Signed-off-by: H Hartley Sweeten
    Signed-off-by: Randy Dunlap
    Cc: David Woodhouse
    Signed-off-by: Linus Torvalds

    H Hartley Sweeten
     
  • commit 3bbb9ec946 (timers: Introduce the concept of timer slack for
    legacy timers) does not take the case into account when the timer is
    already expired. This broke wireless drivers.

    The solution is not to apply slack to already expired timers.

    Signed-off-by: Thomas Gleixner
    Cc: Arjan van de Ven

    Jeff Chua
     
  • commit 64ce4c2f (time: Clean up warp_clock()) breaks the timezone
    update in a very subtle way. To avoid the direct access to timekeeping
    internals it adds the timezone delta to the current time with
    timespec_add_safe(). This works nicely when the timezone delta is > 0.
    If timezone delta is < 0 then the wrap check in timespec_add_safe()
    triggers and timespec_add_safe() returns TIME_MAX and screws up
    timekeeping completely.

    The comment above timespec_add_safe() says:
    It's assumed that both values are valid (>= 0)

    Add the timezone seconds adjustment directly.

    Reported-by: Rafael J. Wysocki
    Tested-by: Rafael J. Wysocki
    Acked-by: John Stultz
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The build scripts inadvertently dropped this down to 29-bit, fix it
    back up.

    Reported-by: Raul Porcel
    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • arch/sh/lib/strlen.S:38: ERROR: trailing whitespace

    Signed-off-by: Andrea Gelmini
    Signed-off-by: Paul Mundt

    Andrea Gelmini
     

23 May, 2010

2 commits