04 Apr, 2009

1 commit

  • * 'for-linus' of git://neil.brown.name/md: (53 commits)
    md/raid5 revise rules for when to update metadata during reshape
    md/raid5: minor code cleanups in make_request.
    md: remove CONFIG_MD_RAID_RESHAPE config option.
    md/raid5: be more careful about write ordering when reshaping.
    md: don't display meaningless values in sysfs files resync_start and sync_speed
    md/raid5: allow layout and chunksize to be changed on active array.
    md/raid5: reshape using largest of old and new chunk size
    md/raid5: prepare for allowing reshape to change layout
    md/raid5: prepare for allowing reshape to change chunksize.
    md/raid5: clearly differentiate 'before' and 'after' stripes during reshape.
    Documentation/md.txt update
    md: allow number of drives in raid5 to be reduced
    md/raid5: change reshape-progress measurement to cope with reshaping backwards.
    md: add explicit method to signal the end of a reshape.
    md/raid5: enhance raid5_size to work correctly with negative delta_disks
    md/raid5: drop qd_idx from r6_state
    md/raid6: move raid6 data processing to raid6_pq.ko
    md: raid5 run(): Fix max_degraded for raid level 4.
    md: 'array_size' sysfs attribute
    md: centralize ->array_sectors modifications
    ...

    Linus Torvalds
     

03 Apr, 2009

4 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    Remove two unneeded exports and make two symbols static in fs/mpage.c
    Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225
    Trim includes of fdtable.h
    Don't crap into descriptor table in binfmt_som
    Trim includes in binfmt_elf
    Don't mess with descriptor table in load_elf_binary()
    Get rid of indirect include of fs_struct.h
    New helper - current_umask()
    check_unsafe_exec() doesn't care about signal handlers sharing
    New locking/refcounting for fs_struct
    Take fs_struct handling to new file (fs/fs_struct.c)
    Get rid of bumping fs_struct refcount in pivot_root(2)
    Kill unsharing fs_struct in __set_personality()

    Linus Torvalds
     
  • Allow cpusets to be configured/built on non-SMP systems

    Currently it's impossible to build cpusets under UML on x86-64, since
    cpusets depends on SMP and x86-64 UML doesn't support SMP.

    There's code in cpusets that doesn't depend on SMP. This patch surrounds
    the minimum amount of cpusets code with #ifdef CONFIG_SMP in order to
    allow cpusets to build/run on UP systems (for testing purposes under UML).

    Reviewed-by: Li Zefan
    Signed-off-by: Paul Menage
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Menage
     
  • It's pointed out that swap_cgroup's message at swapon() is nonsense.
    Because

    * It can be calculated very easily if all necessary information is
    written in Kconfig.

    * It's not necessary to annoying people at every swapon().

    In other view, now, memory usage per swp_entry is reduced to 2bytes from
    8bytes(64bit) and I think it's reasonably small.

    Reported-by: Hugh Dickins
    Signed-off-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • initramfs uses printk without a linefeed, then does some work, then uses
    printk to finish the message off. However if some other code does a
    printk in between, then the messages get mixed together. Better for each
    message to be an independent line...

    Example of problem that this fixes:

    checking if image is initramfs...Switched to high resolution mode on CPU 1
    Switched to high resolution mode on CPU 0
    it is

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

    Simon Kitching
     

01 Apr, 2009

2 commits

  • Impact: Attribute function 'init_post' with __releases(...).

    Fix these sparse warnings:
    init/main.c:805:21: warning: context imbalance in 'init_post' - unexpected unlock
    init/main.c:899:9: warning: context imbalance in 'kernel_init' - wrong count at exit

    Signed-off-by: Hannes Eder
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hannes Eder
     
  • Don't pull it in sched.h; very few files actually need it and those
    can include directly. sched.h itself only needs forward declaration
    of struct fs_struct;

    Signed-off-by: Al Viro

    Al Viro
     

31 Mar, 2009

2 commits


30 Mar, 2009

2 commits

  • cpu_active_map is deprecated in favor of cpu_active_mask, which is
    const for safety: we use accessors now (set_cpu_active) is we really
    want to make a change.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Impact: cleanup

    (Thanks to Al Viro for reminding me of this, via Ingo)

    CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so:

    #define CPU_MASK_ALL (cpumask_t) { { ... } }

    Taking the address of such a temporary is questionable at best,
    unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added
    CPU_MASK_ALL_PTR:

    #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL)

    Which formalizes this practice. One day gcc could bite us over this
    usage (though we seem to have gotten away with it so far).

    So replace everywhere which used &CPU_MASK_ALL or CPU_MASK_ALL_PTR
    with the modern "cpu_all_mask" (a real const struct cpumask *).

    Signed-off-by: Rusty Russell
    Acked-by: Ingo Molnar
    Reported-by: Al Viro
    Cc: Mike Travis

    Rusty Russell
     

29 Mar, 2009

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30:
    fastboot: remove duplicate unpack_to_rootfs()
    ide/net: flip the order of SATA and network init
    async: remove the temporary (2.6.29) "async is off by default" code

    Fix up conflicts in init/initramfs.c manually

    Linus Torvalds
     
  • we check if initrd is initramfs first and then do the real unpack. The check
    isn't required, we can directly do unpack. If the initrd isn't an
    initramfs, we can remove the garbage. In my laptop, this saves 0.1s boot
    time.

    This patch penalizes non-initramfs initrd case, but nowadays, initramfs is
    the most widely used method for initrds.

    Signed-off-by: Shaohua Li
    Acked-by: Arjan van de Ven
    Signed-off-by: Ingo Molnar

    Li, Shaohua
     

28 Mar, 2009

1 commit


13 Mar, 2009

1 commit


11 Mar, 2009

1 commit

  • The COMPAT_BRK kconfig symbol does not depend on EMBEDDED, but it is in
    the midst of the EMBEDDED menu symbols, so it mucks up the EMBEDDED menu.
    Fix by moving it to just after all of the EMBEDDED menu symbols. Also,
    ANON_INODES has a similar problem, so move it to just above the EMBEDDED
    menu items since it is used in the EMBEDDED menu.

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

    Randy Dunlap
     

05 Mar, 2009

1 commit


04 Mar, 2009

1 commit


03 Mar, 2009

2 commits

  • This reverts commit 155b25bcc28631a5b5230191aa3f56c40dfffa3f, which was
    totally wrong - the "embedded" options still exists (very much so) even
    on non-embedded platforms.

    It's just that we don't bother with actually asking about them when
    we're not embedded, we just take their default values (which is usually
    'y' - the options add features that may not be worth it in a constrained
    environment).

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

    Linus Torvalds
     
  • The COMPAT_BRK kconfig symbol does not depend on EMBEDDED, but it is in
    the midst of the EMBEDDED menu symbols, so it mucks up the EMBEDDED
    menu. Fix by moving it to just after all of the EMBEDDED menu symbols.

    Also, surround all of the EMBEDDED symbols with "if EMBEDDED"/"endif" so
    that this EMBEDDED block is clearer.

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

    Randy Dunlap
     

26 Feb, 2009

2 commits

  • Ingo Molnar
     
  • This patch fixes a bug located by Vegard Nossum with the aid of
    kmemcheck, updated based on review comments from Nick Piggin,
    Ingo Molnar, and Andrew Morton. And cleans up the variable-name
    and function-name language. ;-)

    The boot CPU runs in the context of its idle thread during boot-up.
    During this time, idle_cpu(0) will always return nonzero, which will
    fool Classic and Hierarchical RCU into deciding that a large chunk of
    the boot-up sequence is a big long quiescent state. This in turn causes
    RCU to prematurely end grace periods during this time.

    This patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks()
    function to ignore the idle task as a quiescent state until the
    system has started up the scheduler in rest_init(), introducing a
    new non-API function rcu_idle_now_means_idle() to inform RCU of this
    transition. RCU maintains an internal rcu_idle_cpu_truthful variable
    to track this state, which is then used by rcu_check_callback() to
    determine if it should believe idle_cpu().

    Because this patch has the effect of disallowing RCU grace periods
    during long stretches of the boot-up sequence, this patch also introduces
    Josh Triplett's UP-only optimization that makes synchronize_rcu() be a
    no-op if num_online_cpus() returns 1. This allows boot-time code that
    calls synchronize_rcu() to proceed normally. Note, however, that RCU
    callbacks registered by call_rcu() will likely queue up until later in
    the boot sequence. Although rcuclassic and rcutree can also use this
    same optimization after boot completes, rcupreempt must restrict its
    use of this optimization to the portion of the boot sequence before the
    scheduler starts up, given that an rcupreempt RCU read-side critical
    section may be preeempted.

    In addition, this patch takes Nick Piggin's suggestion to make the
    system_state global variable be __read_mostly.

    Changes since v4:

    o Changes the name of the introduced function and variable to
    be less emotional. ;-)

    Changes since v3:

    o WARN_ON(nr_context_switches() > 0) to verify that RCU
    switches out of boot-time mode before the first context
    switch, as suggested by Nick Piggin.

    Changes since v2:

    o Created rcu_blocking_is_gp() internal-to-RCU API that
    determines whether a call to synchronize_rcu() is itself
    a grace period.

    o The definition of rcu_blocking_is_gp() for rcuclassic and
    rcutree checks to see if but a single CPU is online.

    o The definition of rcu_blocking_is_gp() for rcupreempt
    checks to see both if but a single CPU is online and if
    the system is still in early boot.

    This allows rcupreempt to again work correctly if running
    on a single CPU after booting is complete.

    o Added check to rcupreempt's synchronize_sched() for there
    being but one online CPU.

    Tested all three variants both SMP and !SMP, booted fine, passed a short
    rcutorture test on both x86 and Power.

    Located-by: Vegard Nossum
    Tested-by: Vegard Nossum
    Tested-by: Paul E. McKenney
    Signed-off-by: Paul E. McKenney
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     

23 Feb, 2009

1 commit


22 Feb, 2009

1 commit


09 Feb, 2009

1 commit


06 Feb, 2009

1 commit


27 Jan, 2009

4 commits

  • Conflicts:
    arch/x86/kernel/setup_percpu.c

    Ingo Molnar
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
    kbuild: fix kbuild.txt typos
    kbuild: print usage with no arguments in scripts/config
    Revert "kbuild: strip generated symbols from *.ko"

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (92 commits)
    gianfar: Revive VLAN support
    vlan: Export symbols as non GPL symbols.
    bnx2x: tx_has_work should not wait for FW
    netxen: reduce memory footprint
    netxen: fix vlan tso/checksum offload
    net: Fix linux/if_frad.h's suitability for userspace.
    net: Move config NET_NS to from net/Kconfig to init/Kconfig
    isdn: Fix missing ifdef in isdn_ppp
    networking: document "nc" in addition to "netcat" in netconsole.txt
    e1000e: workaround hw errata
    af_key: initialize xfrm encap_oa
    virtio_net: Fix MAX_PACKET_LEN to support 802.1Q VLANs
    lcs: fix compilation for !CONFIG_IP_MULTICAST
    rtl8187: Add termination packet to prevent stall
    iwlwifi: fix rs_get_rate WARN_ON()
    p54usb: fix packet loss with first generation devices
    sctp: Fix another socket race during accept/peeloff
    sctp: Properly timestamp outgoing data chunks for rtx purposes
    sctp: Correctly start rtx timer on new packet transmissions.
    sctp: Fix crc32c calculations on big-endian arhes.
    ...

    Linus Torvalds
     
  • Make NET_NS available underneath the generic Namespaces config option
    since all of the other namespace options are there.

    Signed-off-by: Matt Helsley
    Acked-by: Serge Hallyn
    Signed-off-by: David S. Miller

    Matt Helsley
     

22 Jan, 2009

1 commit


21 Jan, 2009

1 commit


19 Jan, 2009

1 commit


16 Jan, 2009

4 commits

  • Ingo Molnar wrote:

    > here's a new build failure with tip/sched/rt:
    >
    > LD .tmp_vmlinux1
    > kernel/built-in.o: In function `set_curr_task_rt':
    > sched.c:(.text+0x3675): undefined reference to `plist_del'
    > kernel/built-in.o: In function `pick_next_task_rt':
    > sched.c:(.text+0x37ce): undefined reference to `plist_del'
    > kernel/built-in.o: In function `enqueue_pushable_task':
    > sched.c:(.text+0x381c): undefined reference to `plist_del'

    Eliminate the plist library kconfig and make it available
    unconditionally.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Move Documentation/cpusets.txt and Documentation/controllers/* to
    Documentation/cgroups/

    Signed-off-by: Li Zefan
    Acked-by: KAMEZAWA Hiroyuki
    Acked-by: Balbir Singh
    Acked-by: Paul Menage
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • - move CONFIG_PROC_PID_CPUSET into cgroup menu
    - move MM_OWNER to the bottom for better menu indent
    - fix typos
    - use tabs not spaces

    Signed-off-by: Li Zefan
    Acked-by: Paul Menage
    Acked-by: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • Move RCU Kconfig options from top-level menu to an "RCU Subsystem"
    menu under the "General Setup" menu.

    Signed-off-by: Mike Travis
    Tested-by: "Paul E. McKenney"
    Signed-off-by: Ingo Molnar

    Mike Travis
     

15 Jan, 2009

2 commits

  • This reverts commit ad7a953c522ceb496611d127e51e278bfe0ff483.

    And commit: ("allow stripping of generated symbols under CONFIG_KALLSYMS_ALL")
    9bb482476c6c9d1ae033306440c51ceac93ea80c

    These stripping patches has caused a set of issues:

    1) People have reported compatibility issues with binutils due to
    lack of support for `--strip-unneeded-symbols' with objcopy 2.15.92.0.2
    Reported by: Wenji
    2) ccache and distcc no longer works as expeced
    Reported by: Ted, Roland, + others
    3) The installed modules increased a lot in size
    Reported by: Ted, Davej + others

    Reported-by: Wenji Huang
    Reported-by: "Theodore Ts'o"
    Reported-by: Dave Jones
    Reported-by: Roland McGrath
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Impact: More consistent behaviour, avoid policy in the kernel

    Upgrade/downgrade initrd/initramfs decompression failure from
    inconsistently a panic or a KERN_ALERT message to a KERN_EMERG event.
    It is, however, possible do design a system which can recover from
    this (using the kernel builtin code and/or the internal initramfs),
    which means this is policy, not a technical necessity.

    A good way to handle this would be to have a panic-level=X option, to
    force a panic on a printk above a certain level. That is a separate
    patch, however.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     

13 Jan, 2009

1 commit