09 Jan, 2012

1 commit

  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
    reiserfs: Properly display mount options in /proc/mounts
    vfs: prevent remount read-only if pending removes
    vfs: count unlinked inodes
    vfs: protect remounting superblock read-only
    vfs: keep list of mounts for each superblock
    vfs: switch ->show_options() to struct dentry *
    vfs: switch ->show_path() to struct dentry *
    vfs: switch ->show_devname() to struct dentry *
    vfs: switch ->show_stats to struct dentry *
    switch security_path_chmod() to struct path *
    vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
    vfs: trim includes a bit
    switch mnt_namespace ->root to struct mount
    vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
    vfs: opencode mntget() mnt_set_mountpoint()
    vfs: spread struct mount - remaining argument of next_mnt()
    vfs: move fsnotify junk to struct mount
    vfs: move mnt_devname
    vfs: move mnt_list to struct mount
    vfs: switch pnode.h macros to struct mount *
    ...

    Linus Torvalds
     

07 Jan, 2012

3 commits

  • Signed-off-by: Al Viro

    Al Viro
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1958 commits)
    net: pack skb_shared_info more efficiently
    net_sched: red: split red_parms into parms and vars
    net_sched: sfq: extend limits
    cnic: Improve error recovery on bnx2x devices
    cnic: Re-init dev->stats_addr after chip reset
    net_sched: Bug in netem reordering
    bna: fix sparse warnings/errors
    bna: make ethtool_ops and strings const
    xgmac: cleanups
    net: make ethtool_ops const
    vmxnet3" make ethtool ops const
    xen-netback: make ops structs const
    virtio_net: Pass gfp flags when allocating rx buffers.
    ixgbe: FCoE: Add support for ndo_get_fcoe_hbainfo() call
    netdev: FCoE: Add new ndo_get_fcoe_hbainfo() call
    igb: reset PHY after recovering from PHY power down
    igb: add basic runtime PM support
    igb: Add support for byte queue limits.
    e1000: cleanup CE4100 MDIO registers access
    e1000: unmap ce4100_gbe_mdio_base_virt in e1000_remove
    ...

    Linus Torvalds
     
  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)
    cpu: Export cpu_up()
    rcu: Apply ACCESS_ONCE() to rcu_boost() return value
    Revert "rcu: Permit rt_mutex_unlock() with irqs disabled"
    docs: Additional LWN links to RCU API
    rcu: Augment rcu_batch_end tracing for idle and callback state
    rcu: Add rcutorture tests for srcu_read_lock_raw()
    rcu: Make rcutorture test for hotpluggability before offlining CPUs
    driver-core/cpu: Expose hotpluggability to the rest of the kernel
    rcu: Remove redundant rcu_cpu_stall_suppress declaration
    rcu: Adaptive dyntick-idle preparation
    rcu: Keep invoking callbacks if CPU otherwise idle
    rcu: Irq nesting is always 0 on rcu_enter_idle_common
    rcu: Don't check irq nesting from rcu idle entry/exit
    rcu: Permit dyntick-idle with callbacks pending
    rcu: Document same-context read-side constraints
    rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass
    rcu: Remove dynticks false positives and RCU failures
    rcu: Reduce latency of rcu_prepare_for_idle()
    rcu: Eliminate RCU_FAST_NO_HZ grace-period hang
    rcu: Avoid needlessly IPIing CPUs at GP end
    ...

    Linus Torvalds
     

04 Jan, 2012

1 commit


13 Dec, 2011

1 commit

  • This patch lays down the foundation for the kernel memory component
    of the Memory Controller.

    As of today, I am only laying down the following files:

    * memory.independent_kmem_limit
    * memory.kmem.limit_in_bytes (currently ignored)
    * memory.kmem.usage_in_bytes (always zero)

    Signed-off-by: Glauber Costa
    CC: Kirill A. Shutemov
    CC: Paul Menage
    CC: Greg Thelen
    CC: Johannes Weiner
    CC: Michal Hocko
    Signed-off-by: David S. Miller

    Glauber Costa
     

12 Dec, 2011

1 commit


06 Dec, 2011

1 commit

  • This patch fixes a lockdep warning on ARM platforms:

    [ 0.000000] WARNING: lockdep init error! Arch code didn't call lockdep_init() early enough?
    [ 0.000000] Call stack leading to lockdep invocation was:
    [ 0.000000] [] save_stack_trace_tsk+0x0/0x90
    [ 0.000000] [] 0xffffffff

    The warning is caused by printk inside smp_setup_processor_id().

    It is safe to do this because lockdep_init() doesn't depend on
    smp_setup_processor_id(), so improve things that printk can be
    called as early as possible without lockdep complaint.

    Signed-off-by: Ming Lei
    Reviewed-by: Yong Zhang
    Signed-off-by: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/1321508072-23853-1-git-send-email-tom.leiming@gmail.com
    Signed-off-by: Ingo Molnar

    Ming Lei
     

07 Nov, 2011

1 commit

  • …/kernel/git/jeremy/xen

    * 'upstream/jump-label-noearly' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
    jump-label: initialize jump-label subsystem much earlier
    x86/jump_label: add arch_jump_label_transform_static()
    s390/jump-label: add arch_jump_label_transform_static()
    jump_label: add arch_jump_label_transform_static() to optimise non-live code updates
    sparc/jump_label: drop arch_jump_label_text_poke_early()
    x86/jump_label: drop arch_jump_label_text_poke_early()
    jump_label: if a key has already been initialized, don't nop it out
    stop_machine: make stop_machine safe and efficient to call early
    jump_label: use proper atomic_t initializer

    Conflicts:
    - arch/x86/kernel/jump_label.c
    Added __init_or_module to arch_jump_label_text_poke_early vs
    removal of that function entirely
    - kernel/stop_machine.c
    same patch ("stop_machine: make stop_machine safe and efficient
    to call early") merged twice, with whitespace fix in one version

    Linus Torvalds
     

03 Nov, 2011

3 commits

  • When I tried to send a patch to remove it, Andi told me we still need to
    keep compabitlies for old libc, so we can't remove this completely. Then
    just make it default to n and remove the doc from
    feature-removal-schedule.txt.

    Signed-off-by: WANG Cong
    Cc: Eric Biederman
    Cc: Andi Kleen
    Cc: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Expand root=PARTUUID=UUID syntax to support selecting a root partition by
    integer offset from a known, unique partition. This approach provides
    similar properties to specifying a device and partition number, but using
    the UUID as the unique path prior to evaluating the offset.

    For example,
    root=PARTUUID=99DE9194-FC15-4223-9192-FC243948F88B/PARTNROFF=1
    selects the partition with UUID 99DE.. then select the next
    partition.

    This change is motivated by a particular usecase in Chromium OS where the
    bootloader can easily determine what partition it is on (by UUID) but
    doesn't perform general partition table walking.

    That said, support for this model provides a direct mechanism for the user
    to modify the root partition to boot without specifically needing to
    extract each UUID or update the bootloader explicitly when the root
    partition UUID is changed (if it is recreated to be larger, for instance).
    Pinning to a /boot-style partition UUID allows the arbitrary root
    partition reconfiguration/modifications with slightly less ambiguity than
    just [dev][partition] and less stringency than the specific root partition
    UUID.

    [sfr@canb.auug.org.au: fix init sections warning]
    Signed-off-by: Will Drewry
    Cc: Kay Sievers
    Cc: Randy Dunlap
    Cc: Namhyung Kim
    Cc: Trond Myklebust
    Cc: Jens Axboe
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Will Drewry
     
  • When a cramfs ramdisk padded with 512 bytes is given to the kernel, the
    current identify_ramdisk_image function fails to identify it.

    Tested with a padded cramfs image on an ARM based board.

    Signed-off-by: Neil Armstrong
    Cc: Namhyung Kim
    Cc: Davidlohr Bueso
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Neil Armstrong
     

26 Oct, 2011

4 commits

  • * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
    llist: Add back llist_add_batch() and llist_del_first() prototypes
    sched: Don't use tasklist_lock for debug prints
    sched: Warn on rt throttling
    sched: Unify the ->cpus_allowed mask copy
    sched: Wrap scheduler p->cpus_allowed access
    sched: Request for idle balance during nohz idle load balance
    sched: Use resched IPI to kick off the nohz idle balance
    sched: Fix idle_cpu()
    llist: Remove cpu_relax() usage in cmpxchg loops
    sched: Convert to struct llist
    llist: Add llist_next()
    irq_work: Use llist in the struct irq_work logic
    llist: Return whether list is empty before adding in llist_add()
    llist: Move cpu_relax() to after the cmpxchg()
    llist: Remove the platform-dependent NMI checks
    llist: Make some llist functions inline
    sched, tracing: Show PREEMPT_ACTIVE state in trace_sched_switch
    sched: Remove redundant test in check_preempt_tick()
    sched: Add documentation for bandwidth control
    sched: Return unused runtime on group dequeue
    ...

    Linus Torvalds
     
  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)
    rcu: Move propagation of ->completed from rcu_start_gp() to rcu_report_qs_rsp()
    rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states
    rcu: Wire up RCU_BOOST_PRIO for rcutree
    rcu: Make rcu_torture_boost() exit loops at end of test
    rcu: Make rcu_torture_fqs() exit loops at end of test
    rcu: Permit rt_mutex_unlock() with irqs disabled
    rcu: Avoid having just-onlined CPU resched itself when RCU is idle
    rcu: Suppress NMI backtraces when stall ends before dump
    rcu: Prohibit grace periods during early boot
    rcu: Simplify unboosting checks
    rcu: Prevent early boot set_need_resched() from __rcu_pending()
    rcu: Dump local stack if cannot dump all CPUs' stacks
    rcu: Move __rcu_read_unlock()'s barrier() within if-statement
    rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation
    rcu: Make rcu_assign_pointer() unconditionally insert a memory barrier
    rcu: Make rcu_implicit_dynticks_qs() locals be correct size
    rcu: Eliminate in_irq() checks in rcu_enter_nohz()
    nohz: Remove nohz_cpu_mask
    rcu: Document interpretation of RCU-lockdep splats
    rcu: Allow rcutorture's stat_interval parameter to be changed at runtime
    ...

    Linus Torvalds
     
  • The user may use "foo-bar" for a kernel parameter defined as "foo_bar".
    Make sure it works the other way around too.

    Apply the equality of dashes and underscores on early_params and __setup
    params as well.

    The example given in Documentation/kernel-parameters.txt indicates that
    this is the intended behaviour.

    With the patch the kernel accepts "log-buf-len=1M" as expected.
    https://bugzilla.redhat.com/show_bug.cgi?id=744545

    Signed-off-by: Michal Schmidt
    Signed-off-by: Rusty Russell (neatened implementations)

    Michal Schmidt
     
  • Initialize jump_labels much, much earlier, so they're available for use
    during system setup.

    Signed-off-by: Jeremy Fitzhardinge
    Acked-by: Peter Zijlstra

    Jeremy Fitzhardinge
     

04 Oct, 2011

1 commit


01 Oct, 2011

1 commit


30 Sep, 2011

1 commit

  • Commit d5767c53535a ("bootup: move 'usermodehelper_enable()' to the end
    of do_basic_setup()") moved 'usermodehelper_enable()' to end of
    do_basic_setup() to after the initcalls. But then I get failed to let
    uvesafb work on my computer, and lose the splash boot.

    So maybe we could start usermodehelper_enable a little early to make
    some task work that need eary init with the help of user mode.

    [ I would *really* prefer that initcalls not call into user space - even
    the real 'init' hasn't been execve'd yet, after all! But for uvesafb
    it really does look like we don't have much choice.

    I considered doing this when we mount the root filesystem, but
    depending on config options that is in multiple places. We could do
    the usermode helper enable as a rootfs_initcall()..

    So I'm just using wang yanqing's trivial patch. It's not wonderful,
    but it's simple and should work. We should revisit this some day,
    though. - Linus ]

    Signed-off-by: Linus Torvalds

    wangyanqing
     

29 Sep, 2011

2 commits

  • This commit eliminates the possibility of running TREE_PREEMPT_RCU
    when SMP=n and of running TINY_RCU when PREEMPT=y. People who really
    want these combinations can hand-edit init/Kconfig, but eliminating
    them as choices for production systems reduces the amount of testing
    required. It will also allow cutting out a few #ifdefs.

    Note that running TREE_RCU and TINY_RCU on single-CPU systems using
    SMP-built kernels is still supported.

    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • Doing it just before starting to call into cpu_idle() made a sick kind
    of sense only because the original bug we fixed (see commit
    288d5abec831: "Boot up with usermodehelper disabled") was about problems
    with some scheduler data structures not being initialized, and they had
    better be initialized at that point.

    But it really didn't make any other conceptual sense, and doing it after
    the initial "schedule()" call for the idle thread actually opened up a
    race: what if the main initialization thread did everything without
    needing to sleep, and got all the way into user land too? Without
    actually having scheduled back to the idle thread?

    Now, in normal circumstances that doesn't ever happen, but it looks like
    Richard Cochran triggered exactly that on his ARM IXP4xx machines:

    "I have some ARM IXP4xx based machines that use the two on chip MAC
    ports (aka NPEs). The NPE needs a firmware in order to function.
    Ever since the following commit [that 288d5abec831 one], it is no
    longer possible to bring up the interfaces during the init scripts."

    with a call trace showing an ioctl coming from user space. Richard says:

    "The init is busybox, and the startup script does mount, syslogd, and
    then ifup, so that all can go by quickly."

    The fix is to move the usermodehelper_enable() into the main 'init'
    thread, and just put it after we've done all our initcalls. By then,
    everything really should be up, but we've obviously not actually started
    the user-mode portion of init yet.

    Reported-and-tested-by: Richard Cochran
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

22 Sep, 2011

1 commit

  • When a malformed loglevel value (for example "${abc}") is passed on the
    kernel cmdline, the loglevel itself is being set to 0.

    That then suppresses all following messages, including all the errors
    and crashes caused by other malformed cmdline options. This could make
    debugging process quite tricky.

    This patch leaves the previous value of loglevel if the new value is
    incorrect and reports an error code in this case.

    Signed-off-by: Alexander Sverdlin
    Signed-off-by: Linus Torvalds

    Alexander Sverdlin
     

14 Aug, 2011

1 commit

  • In this patch we introduce the notion of CFS bandwidth, partitioned into
    globally unassigned bandwidth, and locally claimed bandwidth.

    - The global bandwidth is per task_group, it represents a pool of unclaimed
    bandwidth that cfs_rqs can allocate from.
    - The local bandwidth is tracked per-cfs_rq, this represents allotments from
    the global pool bandwidth assigned to a specific cpu.

    Bandwidth is managed via cgroupfs, adding two new interfaces to the cpu subsystem:
    - cpu.cfs_period_us : the bandwidth period in usecs
    - cpu.cfs_quota_us : the cpu bandwidth (in usecs) that this tg will be allowed
    to consume over period above.

    Signed-off-by: Paul Turner
    Signed-off-by: Nikhil Rao
    Signed-off-by: Bharata B Rao
    Reviewed-by: Hidetoshi Seto
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110721184756.972636699@google.com
    Signed-off-by: Ingo Molnar

    Paul Turner
     

04 Aug, 2011

2 commits

  • The core device layer sends tons of uevent notifications for each device
    it finds, and if the kernel has been built with a non-empty
    CONFIG_UEVENT_HELPER_PATH that will make us try to execute the usermode
    helper binary for all these events very early in the boot.

    Not only won't the root filesystem even be mounted at that point, we
    literally won't have necessarily even initialized all the process
    handling data structures at that point, which causes no end of silly
    problems even when the usermode helper doesn't actually succeed in
    executing.

    So just use our existing infrastructure to disable the usermodehelpers
    to make the kernel start out with them disabled. We enable them when
    we've at least initialized stuff a bit.

    Problems related to an uninitialized

    init_ipc_ns.ids[IPC_SHM_IDS].rw_mutex

    reported by various people.

    Reported-by: Manuel Lauss
    Reported-by: Richard Weinberger
    Reported-by: Marc Zyngier
    Acked-by: Kay Sievers
    Cc: Andrew Morton
    Cc: Vasiliy Kulikov
    Cc: Greg KH
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • While it's at its least, make a number of boring nitpicky cleanups to
    shmem.c, mostly for consistency of variable naming. Things like "swap"
    instead of "entry", "pgoff_t index" instead of "unsigned long idx".

    And since everything else here is prefixed "shmem_", better change
    init_tmpfs() to shmem_init().

    Signed-off-by: Hugh Dickins
    Acked-by: Rik van Riel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

26 Jul, 2011

2 commits

  • For each CPU, do the calibration delay only once. For subsequent calls,
    use the cached per-CPU value of loops_per_jiffy.

    This saves about 200ms of resume time on dual core Intel Atom N5xx based
    systems. This helps bring down the kernel resume time on such systems
    from about 500ms to about 300ms.

    [akpm@linux-foundation.org: make cpu_loops_per_jiffy static]
    [akpm@linux-foundation.org: clean up message text]
    [akpm@linux-foundation.org: fix things up after upstream rmk changes]
    Signed-off-by: Sameer Nanda
    Cc: Phil Carmody
    Cc: Andrew Worsley
    Cc: David Daney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sameer Nanda
     
  • In commit a2c8990aed5ab ("memsw: remove noswapaccount kernel parameter"),
    Michal forgot to remove some left pieces of noswapaccount in the tree,
    this patch removes them all.

    Signed-off-by: WANG Cong
    Acked-by: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     

24 Jul, 2011

1 commit

  • …us' and 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    um: Make rwsem.S depend on CONFIG_RWSEM_XCHGADD_ALGORITHM

    * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debug: Make CONFIG_EXPERT select CONFIG_DEBUG_KERNEL to unhide debug options

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq: Remove unused CHECK_IRQ_PER_CPU()

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools, x86: Fix 32-bit compile on 64-bit system

    Linus Torvalds
     

23 Jul, 2011

1 commit

  • …rnel/git/tip/linux-2.6-tip

    * 'timers-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    mips: Fix i8253 clockevent fallout
    i8253: Cleanup outb/inb magic
    arm: Footbridge: Use common i8253 clockevent
    mips: Use common i8253 clockevent
    x86: Use common i8253 clockevent
    i8253: Create common clockevent implementation
    i8253: Export i8253_lock unconditionally
    pcpskr: MIPS: Make config dependencies finer grained
    pcspkr: Cleanup Kconfig dependencies
    i8253: Move remaining content and delete asm/i8253.h
    i8253: Consolidate definitions of PIT_LATCH
    x86: i8253: Consolidate definitions of global_clock_event
    i8253: Alpha, PowerPC: Remove unused asm/8253pit.h
    alpha: i8253: Cleanup remaining users of i8253pit.h
    i8253: Remove I8253_LOCK config
    i8253: Make pcsp sound driver use the shared i8253_lock
    i8253: Make pcspkr input driver use the shared i8253_lock
    i8253: Consolidate all kernel definitions of i8253_lock
    i8253: Unify all kernel declarations of i8253_lock
    i8253: Create linux/i8253.h and use it in all 8253 related files

    Linus Torvalds
     

23 Jun, 2011

1 commit

  • Secondary CPU bringup typically calls calibrate_delay() during its
    initialization. However, calibrate_delay() modifies a global variable
    (loops_per_jiffy) used for udelay() and __delay().

    A side effect of 71c696b1 ("calibrate: extract fall-back calculation
    into own helper") introduced in the 2.6.39 merge window means that we
    end up with a substantial period where loops_per_jiffy is zero. This
    causes the spinlock debugging code to malfunction:

    u64 loops = loops_per_jiffy * HZ;
    for (;;) {
    for (i = 0; i < loops; i++) {
    if (arch_spin_trylock(&lock->raw_lock))
    return;
    __delay(1);
    }
    ...
    }

    by never calling arch_spin_trylock() - resulting in the CPU locking
    up in an infinite loop inside __spin_lock_debug().

    Work around this by only writing to loops_per_jiffy only once we have
    completed all the calibration decisions.

    Tested-by: Santosh Shilimkar
    Signed-off-by: Russell King
    Cc: (2.6.39-stable)
    --
    Better solutions (such as omitting the calibration for secondary CPUs,
    or arranging for calibrate_delay() to return the LPJ value and leave
    it to the caller to decide where to store it) are a possibility, but
    would be much more invasive into each architecture.

    I think this is the best solution for -rc and stable, but it should be
    revisited for the next merge window.

    init/calibrate.c | 14 ++++++++------
    1 files changed, 8 insertions(+), 6 deletions(-)
    Signed-off-by: Linus Torvalds

    Russell King
     

17 Jun, 2011

1 commit

  • There is a problem that kdump(2nd kernel) sometimes hangs up due
    to a pending IPI from 1st kernel. Kernel panic occurs because IPI
    comes before call_single_queue is initialized.

    To fix the crash, rename init_call_single_data() to call_function_init()
    and call it in start_kernel() so that call_single_queue can be
    initialized before enabling interrupts.

    The details of the crash are:

    (1) 2nd kernel boots up

    (2) A pending IPI from 1st kernel comes when irqs are first enabled
    in start_kernel().

    (3) Kernel tries to handle the interrupt, but call_single_queue
    is not initialized yet at this point. As a result, in the
    generic_smp_call_function_single_interrupt(), NULL pointer
    dereference occurs when list_replace_init() tries to access
    &q->list.next.

    Therefore this patch changes the name of init_call_single_data()
    to call_function_init() and calls it before local_irq_enable()
    in start_kernel().

    Signed-off-by: Takao Indoh
    Reviewed-by: WANG Cong
    Acked-by: Neil Horman
    Acked-by: Vivek Goyal
    Acked-by: Peter Zijlstra
    Cc: Milton Miller
    Cc: Jens Axboe
    Cc: Paul E. McKenney
    Cc: kexec@lists.infradead.org
    Link: http://lkml.kernel.org/r/D6CBEE2F420741indou.takao@jp.fujitsu.com
    Signed-off-by: Ingo Molnar

    Takao Indoh
     

16 Jun, 2011

3 commits

  • CONFIG_CONSTRUCTORS controls support for running constructor functions at
    kernel init time. According to commit b99b87f70c7785ab ("kernel:
    constructor support"), gcov (CONFIG_GCOV_KERNEL) needs this. However,
    CONFIG_CONSTRUCTORS currently defaults to y, with no option to disable it,
    and CONFIG_GCOV_KERNEL depends on it. Instead, default it to n and have
    CONFIG_GCOV_KERNEL select it, so that the normal case of
    CONFIG_GCOV_KERNEL=n will result in CONFIG_CONSTRUCTORS=n.

    Observed in the short list of =y values in a minimal kernel configuration.

    Signed-off-by: Josh Triplett
    Acked-by: WANG Cong
    Acked-by: Peter Oberparleiter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • Remove calibrate_delay_direct()'s KERN_DEBUG printk related to bogomips
    calculation as it appears when booting every core on setups with
    'ignore_loglevel' which dmesg people scan for possible issues. As the
    message doesn't show very useful information to the widest audience of
    kernel boot message gazers, it should be removed.

    Introduced by commit d2b463135f84 ("init/calibrate.c: fix for critical
    bogoMIPS intermittent calculation failure").

    Signed-off-by: Borislav Petkov
    Cc: Andrew Worsley
    Cc: Phil Carmody
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Borislav Petkov
     
  • The "hostname" tool falls back to setting the hostname to "localhost" if
    /etc/hostname does not exist. Distribution init scripts have the same
    fallback. However, if userspace never calls sethostname, such as when
    booting with init=/bin/sh, or otherwise booting a minimal system without
    the usual init scripts, the default hostname of "(none)" remains,
    unhelpfully appearing in various places such as prompts ("root@(none):~#")
    and logs. Furthermore, "(none)" doesn't typically resolve to anything
    useful.

    Make the default hostname configurable. This removes the need for the
    standard fallback, provides a useful default for systems that never call
    sethostname, and makes minimal systems that much more useful with less
    configuration. Distributions could choose to use "localhost" here to
    avoid the fallback, while embedded systems may wish to use a specific
    target hostname.

    Signed-off-by: Josh Triplett
    Acked-by: Linus Torvalds
    Acked-by: David Miller
    Cc: Serge Hallyn
    Cc: Kel Modderman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     

09 Jun, 2011

2 commits

  • Lenghty lists of the kind "depends on ARCH1 || ARCH2 ... || ARCH123" are
    usually either wrong or too coarse grained. Or plain an ugly sin.

    [ tglx: Fixed up amigaone ]

    Signed-off-by: Ralf Baechle
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Acked-by: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: linux-alpha@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: Gerhard Pircher
    Link: http://lkml.kernel.org/r/20110601180610.984881988@duck.linux-mips.net
    Signed-off-by: Thomas Gleixner

    Ralf Baechle
     
  • Move them to drivers/clocksource/i8253.c and remove the
    implementations in arch/

    [ tglx: Avoid the extra file in lib - folded arch patches in. The
    export will become conditional in a later step ]

    Signed-off-by: Ralf Baechle
    Link: http://lkml.kernel.org/r/20110601180610.221426078@duck.linux-mips.net
    Cc: Russell King
    Signed-off-by: Thomas Gleixner

    Ralf Baechle
     

07 Jun, 2011

1 commit

  • Several debugging options currently default to y, such as
    CONFIG_DEBUG_BUGVERBOSE and CONFIG_DEBUG_RODATA. Embedded users
    might want to turn those options off to save space; however,
    turning them off requires turning on CONFIG_DEBUG_KERNEL to
    unhide them. Since CONFIG_DEBUG_KERNEL exists specifically to
    unhide debugging options, and CONFIG_EXPERT exists specifically
    to unhide options potentially needed by experts and/or embedded
    users, make CONFIG_EXPERT automatically imply
    CONFIG_DEBUG_KERNEL.

    Signed-off-by: Josh Triplett
    Acked-by: Frederic Weisbecker
    Cc: Sam Ravnborg
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/20110606012358.GA1909@leaf
    Signed-off-by: Ingo Molnar

    Josh Triplett
     

30 May, 2011

1 commit

  • Thomas Gleixner reports that we now have a boot crash triggered by
    CONFIG_CPUMASK_OFFSTACK=y:

    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [] find_next_bit+0x55/0xb0
    Call Trace:
    [] cpumask_any_but+0x2a/0x70
    [] flush_tlb_mm+0x2b/0x80
    [] pud_populate+0x35/0x50
    [] pgd_alloc+0x9a/0xf0
    [] mm_init+0xec/0x120
    [] mm_alloc+0x53/0xd0

    which was introduced by commit de03c72cfce5 ("mm: convert
    mm->cpu_vm_cpumask into cpumask_var_t"), and is due to wrong ordering of
    mm_init() vs mm_init_cpumask

    Thomas wrote a patch to just fix the ordering of initialization, but I
    hate the new double allocation in the fork path, so I ended up instead
    doing some more radical surgery to clean it all up.

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

    Linus Torvalds
     

27 May, 2011

1 commit

  • The ns_cgroup is an annoying cgroup at the namespace / cgroup frontier and
    leads to some problems:

    * cgroup creation is out-of-control
    * cgroup name can conflict when pids are looping
    * it is not possible to have a single process handling a lot of
    namespaces without falling in a exponential creation time
    * we may want to create a namespace without creating a cgroup

    The ns_cgroup was replaced by a compatibility flag 'clone_children',
    where a newly created cgroup will copy the parent cgroup values.
    The userspace has to manually create a cgroup and add a task to
    the 'tasks' file.

    This patch removes the ns_cgroup as suggested in the following thread:

    https://lists.linux-foundation.org/pipermail/containers/2009-June/018616.html

    The 'cgroup_clone' function is removed because it is no longer used.

    This is a userspace-visible change. Commit 45531757b45c ("cgroup: notify
    ns_cgroup deprecated") (merged into 2.6.27) caused the kernel to emit a
    printk warning users that the feature is planned for removal. Since that
    time we have heard from XXX users who were affected by this.

    Signed-off-by: Daniel Lezcano
    Signed-off-by: Serge E. Hallyn
    Cc: Eric W. Biederman
    Cc: Jamal Hadi Salim
    Reviewed-by: Li Zefan
    Acked-by: Paul Menage
    Acked-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Lezcano
     

25 May, 2011

1 commit

  • On larger systems, because of the numerous ACPI, Bootmem and EFI messages,
    the static log buffer overflows before the larger one specified by the
    log_buf_len param is allocated. Minimize the overflow by allocating the
    new log buffer as soon as possible.

    On kernels without memblock, a later call to setup_log_buf from
    kernel/init.c is the fallback.

    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: fix CONFIG_PRINTK=n build]
    Signed-off-by: Mike Travis
    Cc: Yinghai Lu
    Cc: "H. Peter Anvin"
    Cc: Jack Steiner
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Travis