13 Jan, 2012

1 commit

  • For checkpoint/restore we need auxilary features being compiled into the
    kernel, such as additional prctl codes, /proc//map_files and etc...
    but same time these features are not mandatory for a regular kernel so
    CHECKPOINT_RESTORE config symbol should bring a way to disable them all at
    once if one wish to get rid of additional functionality.

    Signed-off-by: Cyrill Gorcunov
    Cc: Tejun Heo
    Cc: Andrew Vagin
    Cc: Serge Hallyn
    Cc: Vasiliy Kulikov
    Reviewed-by: Kees Cook
    Cc: KAMEZAWA Hiroyuki
    Cc: Alexey Dobriyan
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cyrill Gorcunov
     

12 Jan, 2012

1 commit


10 Jan, 2012

1 commit

  • The dependency bug was pointed out by this build warning:

    warning: (SCHED_AUTOGROUP) selects CGROUP_SCHED which has unmet direct dependencies (CGROUPS && EXPERIMENTAL)

    Signed-off-by: Fabio Estevam
    Cc: a.p.zijlstra@chello.nl
    Cc: Fabio Estevam
    Link: http://lkml.kernel.org/r/1326192383-5113-1-git-send-email-festevam@gmail.com
    Signed-off-by: Ingo Molnar

    Fabio Estevam
     

07 Jan, 2012

1 commit

  • * 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
     

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


03 Nov, 2011

1 commit

  • 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
     

26 Oct, 2011

1 commit

  • * '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
     

29 Sep, 2011

1 commit

  • 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
     

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
     

26 Jul, 2011

1 commit

  • 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
     

16 Jun, 2011

2 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
     
  • 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
     

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

  • * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    kbuild: make KBUILD_NOCMDDEP=1 handle empty built-in.o
    scripts/kallsyms.c: fix potential segfault
    scripts/gen_initramfs_list.sh: Convert to a /bin/sh script
    kbuild: Fix GNU make v3.80 compatibility
    kbuild: Fix passing -Wno-* options to gcc 4.4+
    kbuild: move scripts/basic/docproc.c to scripts/docproc.c
    kbuild: Fix Makefile.asm-generic for um
    kbuild: Allow to combine multiple W= levels
    kbuild: Disable -Wunused-but-set-variable for gcc 4.6.0
    Fix handling of backlash character in LINUX_COMPILE_BY name
    kbuild: asm-generic support
    kbuild: implement several W= levels
    kbuild: Fix build with binutils <= 2.19
    initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
    kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
    kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros
    kbuild: Use the deterministic mode of ar
    kbuild: Call gzip with -n
    kbuild: move KALLSYMS_EXTRA_PASS from Kconfig to Makefile
    Kconfig: improve KALLSYMS_ALL documentation

    Fix up trivial conflict in Makefile

    Linus Torvalds
     

23 May, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (28 commits)
    sparc32: fix build, fix missing cpu_relax declaration
    SCHED_TTWU_QUEUE is not longer needed since sparc32 now implements IPI
    sparc32,leon: Remove unnecessary page_address calls in LEON DMA API.
    sparc: convert old cpumask API into new one
    sparc32, sun4d: Implemented SMP IPIs support for SUN4D machines
    sparc32, sun4m: Implemented SMP IPIs support for SUN4M machines
    sparc32,leon: Implemented SMP IPIs for LEON CPU
    sparc32: implement SMP IPIs using the generic functions
    sparc32,leon: SMP power down implementation
    sparc32,leon: added some SMP comments
    sparc: add {read,write}*_be routines
    sparc32,leon: don't rely on bootloader to mask IRQs
    sparc32,leon: operate on boot-cpu IRQ controller registers
    sparc32: always define boot_cpu_id
    sparc32: removed unused code, implemented by generic code
    sparc32: avoid build warning at mm/percpu.c:1647
    sparc32: always register a PROM based early console
    sparc32: probe for cpu info only during startup
    sparc: consolidate show_cpuinfo in cpu.c
    sparc32,leon: implement genirq CPU affinity
    ...

    Linus Torvalds
     
  • I still happen to believe that I$ miss costs are a major thing, but
    sadly, -Os doesn't seem to be the solution. With or without it, gcc
    will miss some obvious code size improvements, and with it enabled gcc
    will sometimes make choices that aren't good even with high I$ miss
    ratios.

    For example, with -Os, gcc on x86 will turn a 20-byte constant memcpy
    into a "rep movsl". While I sincerely hope that x86 CPU's will some day
    do a good job at that, they certainly don't do it yet, and the cost is
    higher than a L1 I$ miss would be.

    Some day I hope we can re-enable this.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

21 May, 2011

1 commit


20 May, 2011

2 commits

  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)
    Revert "rcu: Decrease memory-barrier usage based on semi-formal proof"
    net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree
    batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu
    batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()
    batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu
    net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()
    net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()
    net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()
    perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()
    perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()
    net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()
    net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()
    net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()
    security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()
    net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()
    net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()
    net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()
    ...

    Linus Torvalds
     
  • …kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)
    sched: Fix and optimise calculation of the weight-inverse
    sched: Avoid going ahead if ->cpus_allowed is not changed
    sched, rt: Update rq clock when unthrottling of an otherwise idle CPU
    sched: Remove unused parameters from sched_fork() and wake_up_new_task()
    sched: Shorten the construction of the span cpu mask of sched domain
    sched: Wrap the 'cfs_rq->nr_spread_over' field with CONFIG_SCHED_DEBUG
    sched: Remove unused 'this_best_prio arg' from balance_tasks()
    sched: Remove noop in alloc_rt_sched_group()
    sched: Get rid of lock_depth
    sched: Remove obsolete comment from scheduler_tick()
    sched: Fix sched_domain iterations vs. RCU
    sched: Next buddy hint on sleep and preempt path
    sched: Make set_*_buddy() work on non-task entities
    sched: Remove need_migrate_task()
    sched: Move the second half of ttwu() to the remote cpu
    sched: Restructure ttwu() some more
    sched: Rename ttwu_post_activation() to ttwu_do_wakeup()
    sched: Remove rq argument from ttwu_stat()
    sched: Remove rq->lock from the first half of ttwu()
    sched: Drop rq->lock from sched_exec()
    ...

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix rt_rq runtime leakage bug

    Linus Torvalds
     

12 May, 2011

1 commit


11 May, 2011

1 commit

  • This reverts commit 4a5fa3590f09, which did not allow SLUB to be used
    on architectures that use DISCONTIGMEM without compiling NUMA support
    without CONFIG_BROKEN also set.

    The slub panic that it was intended to prevent is addressed by
    d9b41e0b54fd ("[PARISC] set memory ranges in N_NORMAL_MEMORY when
    onlined") on parisc so there is no further slub issues with such a
    configuration.

    The reverts allows SLUB now to be used on such architectures since
    there haven't been any reports of additional errors.

    Cc: James Bottomley
    Signed-off-by: David Rientjes
    Signed-off-by: Linus Torvalds

    David Rientjes
     

06 May, 2011

1 commit

  • Add priority boosting for TREE_PREEMPT_RCU, similar to that for
    TINY_PREEMPT_RCU. This is enabled by the default-off RCU_BOOST
    kernel parameter. The priority to which to boost preempted
    RCU readers is controlled by the RCU_BOOST_PRIO kernel parameter
    (defaulting to real-time priority 1) and the time to wait before
    boosting the readers who are blocking a given grace period is
    controlled by the RCU_BOOST_DELAY kernel parameter (defaulting to
    500 milliseconds).

    Signed-off-by: Paul E. McKenney
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     

28 Apr, 2011

1 commit


27 Apr, 2011

1 commit

  • The EXPERT menu list was recently broken by the insertion of a
    kconfig symbol (EMBEDDED) at the beginning of the EXPERT list of
    kconfig items. Broken by:

    commit 6a108a14fa356ef607be308b68337939e56ea94e
    Author: David Rientjes
    Date: Thu Jan 20 14:44:16 2011 -0800
    kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT

    Restore the EXPERT menu list -- don't inject a symbol (EMBEDDED)
    that does not depend on EXPERT into the list.

    Signed-off-by: Randy Dunlap
    Cc: David Rientjes
    Cc: Peter Foley
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

23 Apr, 2011

1 commit

  • Slub makes assumptions about page_to_nid() which are violated by
    DISCONTIGMEM and !NUMA. This violation results in a panic because
    page_to_nid() can be non-zero for pages in the discontiguous ranges and
    this leads to a null return by get_node(). The assertion by the
    maintainer is that DISCONTIGMEM should only be allowed when NUMA is also
    defined. However, at least six architectures: alpha, ia64, m32r, m68k,
    mips, parisc violate this. The panic is a regression against slab, so
    just mark slub broken in the problem configuration to prevent users
    reporting these panics.

    Cc: stable@kernel.org
    Acked-by: David Rientjes
    Acked-by: Pekka Enberg
    Signed-off-by: James Bottomley

    James Bottomley
     

15 Apr, 2011

2 commits

  • At the moment we have the CONFIG_KALLSYMS_EXTRA_PASS Kconfig switch,
    which users can enable or disable while configuring the kernel. This
    option is then used by 'make' to determine whether an extra kallsyms
    pass is needed or not.

    However, this approach is not nice and confusing, and this patch moves
    CONFIG_KALLSYMS_EXTRA_PASS from Kconfig to Makefile instead. The
    rationale is below.

    1. CONFIG_KALLSYMS_EXTRA_PASS is really about the build time, not
    run-time. There is no real need for it to be in Kconfig. It is
    just an additional work-around which should be used only in rare
    cases, when someone breaks kallsyms, so Kbuild/Makefile is much
    better place for this option.
    2. Grepping CONFIG_KALLSYMS_EXTRA_PASS shows that many defconfigs have
    it enabled, probably not because they try to work-around a kallsyms
    bug, but just because the Kconfig help text is confusing and does
    not really make it clear that this option should not be used unless
    except when kallsyms is broken.
    3. And since many people have CONFIG_KALLSYMS_EXTRA_PASS enabled in
    their Kconfig, we do might fail to notice kallsyms bugs in time. E.g.,
    many testers use "make allyesconfig" to test builds, which will enable
    CONFIG_KALLSYMS_EXTRA_PASS and kallsyms breakage will not be noticed.

    To address that, this patch:

    1. Kills CONFIG_KALLSYMS_EXTRA_PASS
    2. Changes Makefile so that people can use "make KALLSYMS_EXTRA_PASS=1"
    to enable the extra pass if needed. Additionally, they may define
    KALLSYMS_EXTRA_PASS as an environment variable.
    3. By default KALLSYMS_EXTRA_PASS is disabled and if kallsyms has issues,
    "make" should print a warning and suggest using KALLSYMS_EXTRA_PASS

    Signed-off-by: Artem Bityutskiy
    [mmarek: Removed make help text, is not necessary]
    Signed-off-by: Michal Marek

    Artem Bityutskiy
     
  • Dumb users like myself are not able to grasp from the existing KALLSYMS_ALL
    documentation that this option is not what they need. Improve the help
    message and make it clearer that KALLSYMS is enough in the majority of
    use cases, and KALLSYMS_ALL should really be used very rarely.

    Signed-off-by: Artem Bityutskiy
    Signed-off-by: Michal Marek

    Artem Bityutskiy
     

14 Apr, 2011

1 commit

  • Now that we've removed the rq->lock requirement from the first part of
    ttwu() and can compute placement without holding any rq->lock, ensure
    we execute the second half of ttwu() on the actual cpu we want the
    task to run on.

    This avoids having to take rq->lock and doing the task enqueue
    remotely, saving lots on cacheline transfers.

    As measured using: http://oss.oracle.com/~mason/sembench.c

    $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance > $i; done
    $ echo 4096 32000 64 128 > /proc/sys/kernel/sem
    $ ./sembench -t 2048 -w 1900 -o 0

    unpatched: run time 30 seconds 647278 worker burns per second
    patched: run time 30 seconds 816715 worker burns per second

    Reviewed-by: Frank Rowand
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110405152729.515897185@chello.nl

    Peter Zijlstra
     

19 Mar, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)
    doc: CONFIG_UNEVICTABLE_LRU doesn't exist anymore
    Update cpuset info & webiste for cgroups
    dcdbas: force SMI to happen when expected
    arch/arm/Kconfig: remove one to many l's in the word.
    asm-generic/user.h: Fix spelling in comment
    drm: fix printk typo 'sracth'
    Remove one to many n's in a word
    Documentation/filesystems/romfs.txt: fixing link to genromfs
    drivers:scsi Change printk typo initate -> initiate
    serial, pch uart: Remove duplicate inclusion of linux/pci.h header
    fs/eventpoll.c: fix spelling
    mm: Fix out-of-date comments which refers non-existent functions
    drm: Fix printk typo 'failled'
    coh901318.c: Change initate to initiate.
    mbox-db5500.c Change initate to initiate.
    edac: correct i82975x error-info reported
    edac: correct i82975x mci initialisation
    edac: correct commented info
    fs: update comments to point correct document
    target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c
    ...

    Trivial conflict in fs/eventpoll.c (spelling vs addition)

    Linus Torvalds
     

17 Mar, 2011

2 commits

  • * 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:
    BKL: That's all, folks
    fs/locks.c: Remove stale FIXME left over from BKL conversion
    ipx: remove the BKL
    appletalk: remove the BKL
    x25: remove the BKL
    ufs: remove the BKL
    hpfs: remove the BKL
    drivers: remove extraneous includes of smp_lock.h
    tracing: don't trace the BKL
    adfs: remove the big kernel lock

    Linus Torvalds
     
  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (50 commits)
    printk: do not mangle valid userspace syslog prefixes
    efivars: Add Documentation
    efivars: Expose efivars functionality to external drivers.
    efivars: Parameterize operations.
    efivars: Split out variable registration
    efivars: parameterize efivars
    efivars: Make efivars bin_attributes dynamic
    efivars: move efivars globals into struct efivars
    drivers:misc: ti-st: fix debugging code
    kref: Fix typo in kref documentation
    UIO: add PRUSS UIO driver support
    Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches
    firmware: Fix unaligned memory accesses in dmi-sysfs
    firmware: Add documentation for /sys/firmware/dmi
    firmware: Expose DMI type 15 System Event Log
    firmware: Break out system_event_log in dmi-sysfs
    firmware: Basic dmi-sysfs support
    firmware: Add DMI entry types to the headers
    Driver core: convert platform_{get,set}_drvdata to static inline functions
    Translate linux-2.6/Documentation/magic-number.txt into Chinese
    ...

    Linus Torvalds
     

16 Mar, 2011

1 commit

  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (184 commits)
    perf probe: Clean up probe_point_lazy_walker() return value
    tracing: Fix irqoff selftest expanding max buffer
    tracing: Align 4 byte ints together in struct tracer
    tracing: Export trace_set_clr_event()
    tracing: Explain about unstable clock on resume with ring buffer warning
    ftrace/graph: Trace function entry before updating index
    ftrace: Add .ref.text as one of the safe areas to trace
    tracing: Adjust conditional expression latency formatting.
    tracing: Fix event alignment: skb:kfree_skb
    tracing: Fix event alignment: mce:mce_record
    tracing: Fix event alignment: kvm:kvm_hv_hypercall
    tracing: Fix event alignment: module:module_request
    tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup
    tracing: Remove lock_depth from event entry
    perf header: Stop using 'self'
    perf session: Use evlist/evsel for managing perf.data attributes
    perf top: Don't let events to eat up whole header line
    perf top: Fix events overflow in top command
    ring-buffer: Remove unused #include <linux/trace_irq.h>
    tracing: Add an 'overwrite' trace_option.
    ...

    Linus Torvalds
     

15 Mar, 2011

1 commit


05 Mar, 2011

1 commit

  • This removes the implementation of the big kernel lock,
    at last. A lot of people have worked on this in the
    past, I so the credit for this patch should be with
    everyone who participated in the hunt.

    The names on the Cc list are the people that were the
    most active in this, according to the recorded git
    history, in alphabetical order.

    Signed-off-by: Arnd Bergmann
    Acked-by: Alan Cox
    Cc: Alessio Igor Bogani
    Cc: Al Viro
    Cc: Andrew Hendry
    Cc: Andrew Morton
    Cc: Christoph Hellwig
    Cc: Eric W. Biederman
    Cc: Frederic Weisbecker
    Cc: Hans Verkuil
    Acked-by: Ingo Molnar
    Cc: Jan Blunck
    Cc: John Kacur
    Cc: Jonathan Corbet
    Cc: Linus Torvalds
    Cc: Matthew Wilcox
    Cc: Oliver Neukum
    Cc: Paul Menage
    Acked-by: Thomas Gleixner
    Cc: Trond Myklebust

    Arnd Bergmann