1. 29 4月, 2008 8 次提交
    • B
      cgroups: add an owner to the mm_struct · cf475ad2
      Balbir Singh 提交于
      Remove the mem_cgroup member from mm_struct and instead adds an owner.
      
      This approach was suggested by Paul Menage.  The advantage of this approach
      is that, once the mm->owner is known, using the subsystem id, the cgroup
      can be determined.  It also allows several control groups that are
      virtually grouped by mm_struct, to exist independent of the memory
      controller i.e., without adding mem_cgroup's for each controller, to
      mm_struct.
      
      A new config option CONFIG_MM_OWNER is added and the memory resource
      controller selects this config option.
      
      This patch also adds cgroup callbacks to notify subsystems when mm->owner
      changes.  The mm_cgroup_changed callback is called with the task_lock() of
      the new task held and is called just prior to changing the mm->owner.
      
      I am indebted to Paul Menage for the several reviews of this patchset and
      helping me make it lighter and simpler.
      
      This patch was tested on a powerpc box, it was compiled with both the
      MM_OWNER config turned on and off.
      
      After the thread group leader exits, it's moved to init_css_state by
      cgroup_exit(), thus all future charges from runnings threads would be
      redirected to the init_css_set's subsystem.
      Signed-off-by: NBalbir Singh <balbir@linux.vnet.ibm.com>
      Cc: Pavel Emelianov <xemul@openvz.org>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Sudhir Kumar <skumar@linux.vnet.ibm.com>
      Cc: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
      Cc: Hirokazu Takahashi <taka@valinux.co.jp>
      Cc: David Rientjes <rientjes@google.com>,
      Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
      Acked-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Acked-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Reviewed-by: NPaul Menage <menage@google.com>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cf475ad2
    • S
      cgroups: implement device whitelist · 08ce5f16
      Serge E. Hallyn 提交于
      Implement a cgroup to track and enforce open and mknod restrictions on device
      files.  A device cgroup associates a device access whitelist with each cgroup.
       A whitelist entry has 4 fields.  'type' is a (all), c (char), or b (block).
      'all' means it applies to all types and all major and minor numbers.  Major
      and minor are either an integer or * for all.  Access is a composition of r
      (read), w (write), and m (mknod).
      
      The root device cgroup starts with rwm to 'all'.  A child devcg gets a copy of
      the parent.  Admins can then remove devices from the whitelist or add new
      entries.  A child cgroup can never receive a device access which is denied its
      parent.  However when a device access is removed from a parent it will not
      also be removed from the child(ren).
      
      An entry is added using devices.allow, and removed using
      devices.deny.  For instance
      
      	echo 'c 1:3 mr' > /cgroups/1/devices.allow
      
      allows cgroup 1 to read and mknod the device usually known as
      /dev/null.  Doing
      
      	echo a > /cgroups/1/devices.deny
      
      will remove the default 'a *:* mrw' entry.
      
      CAP_SYS_ADMIN is needed to change permissions or move another task to a new
      cgroup.  A cgroup may not be granted more permissions than the cgroup's parent
      has.  Any task can move itself between cgroups.  This won't be sufficient, but
      we can decide the best way to adequately restrict movement later.
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: fix may-be-used-uninitialized warning]
      Signed-off-by: NSerge E. Hallyn <serue@us.ibm.com>
      Acked-by: NJames Morris <jmorris@namei.org>
      Looks-good-to: Pavel Emelyanov <xemul@openvz.org>
      Cc: Daniel Hokka Zakrisson <daniel@hozac.com>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Cc: Paul Menage <menage@google.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      08ce5f16
    • P
      CGroup API files: make CGROUP_DEBUG default to off · 418d7d87
      Paul Menage 提交于
      The cgroup debug subsystem isn't generally useful for users.  It should
      default to "n".
      Signed-off-by: NPaul Menage <menage@google.com>
      Cc: "Li Zefan" <lizf@cn.fujitsu.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Paul Jackson <pj@sgi.com>
      Cc: Pavel Emelyanov <xemul@openvz.org>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: "YAMAMOTO Takashi" <yamamoto@valinux.co.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      418d7d87
    • T
      directly use kmalloc() and kfree() in init/initramfs.c · 3265e66b
      Thomas Petazzoni 提交于
      Instead of using the malloc() and free() wrappers needed by the
      lib/inflate.c code for allocations, simply use kmalloc() and kfree() in the
      initramfs code.  This is needed for a further lib/inflate.c-related cleanup
      patch that will remove the malloc() and free() functions.
      
      Take that opportunity to remove the useless kmalloc() return value
      cast.
      
      Based on work done by Matt Mackall.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NMatt Mackall <mpm@selenic.com>
      Cc: Jan Engelhardt <jengelh@computergmbh.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3265e66b
    • B
      Simplify initcall_debug output · 626adeb6
      Bjorn Helgaas 提交于
      print_fn_descriptor_symbol() prints the address if we don't have a symbol, so
      no need to print both.
      
      Also, combine printing return value with elapsed time.  Changes this:
      
        Calling initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50()
        initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50() returned 1.
        initcall 0xc05b7a70 ran for 0 msecs: pci_mmcfg_late_insert_resources+0x0/0x50()
        initcall at 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50(): returned with error code 1
      
      to this:
      
        calling  pci_mmcfg_late_insert_resources+0x0/0x50()
        initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned 1 after 0 msecs
        initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned with error code 1
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      626adeb6
    • A
      let LOG_BUF_SHIFT default to 17 · f17a32e9
      Adrian Bunk 提交于
      16 kB is often no longer enough for a normal boot of an UP system.
      
      And even less when people e.g. use suspend.
      
      17 seems to be a more reasonable default for current kernels on current
      hardware (it's just the default, anyone who is memory limited can still lower
      it).
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f17a32e9
    • H
      init: fix integer as NULL pointer warnings · d613c3e2
      Harvey Harrison 提交于
      init/do_mounts_rd.c:215:13: warning: Using plain integer as NULL pointer
      init/do_mounts_md.c:136:45: warning: Using plain integer as NULL pointer
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d613c3e2
    • I
      make CC_OPTIMIZE_FOR_SIZE non-experimental · 96fffeb4
      Ingo Molnar 提交于
      this option has been the default on a wide range of distributions
      for a long time - time to make it non-experimental.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      96fffeb4
  2. 27 4月, 2008 1 次提交
  3. 24 4月, 2008 2 次提交
  4. 20 4月, 2008 3 次提交
  5. 14 4月, 2008 1 次提交
    • C
      slub: No need for per node slab counters if !SLUB_DEBUG · 0f389ec6
      Christoph Lameter 提交于
      The per node counters are used mainly for showing data through the sysfs API.
      If that API is not compiled in then there is no point in keeping track of this
      data. Disable counters for the number of slabs and the number of total slabs
      if !SLUB_DEBUG. Incrementing the per node counters is also accessing a
      potentially contended cacheline so this could actually be a performance
      benefit to embedded systems.
      
      SLABINFO support is also affected. It now must depends on SLUB_DEBUG (which
      is on by default).
      
      Patch also avoids a check for a NULL kmem_cache_node pointer in new_slab()
      if the system is not compiled with NUMA support.
      
      [penberg@cs.helsinki.fi: fix oops and move ->nr_slabs into CONFIG_SLUB_DEBUG]
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      0f389ec6
  6. 16 3月, 2008 1 次提交
    • L
      ACPI: Remove ACPI_CUSTOM_DSDT_INITRD option · 9a9e0d68
      Linus Torvalds 提交于
      This essentially reverts commit 71fc47a9
      ("ACPI: basic initramfs DSDT override support"), because the code simply
      isn't ready.
      
      It did ugly things to the init sequence to populate the rootfs image
      early, but that just ended up showing other problems with the whole
      approach.  The fact is, the VFS layer simply isn't initialized this
      early, and the relevant ACPI code should either run much later, or this
      shouldn't be done at all.
      
      For 2.6.25, we'll just pick the latter option.  We can revisit this
      concept later if necessary.
      
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Cc: Tilman Schmidt <tilman@imap.cc>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Thomas Renninger <trenn@suse.de>
      Cc: Eric Piel <eric.piel@tremplin-utc.net>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Markus Gaugusch <dsdt@gaugusch.at>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9a9e0d68
  7. 11 3月, 2008 1 次提交
    • P
      rcu: move PREEMPT_RCU config option back under PREEMPT · 21bbb39c
      Paul E. McKenney 提交于
      The original preemptible-RCU patch put the choice between classic and
      preemptible RCU into kernel/Kconfig.preempt, which resulted in build failures
      on machines not supporting CONFIG_PREEMPT.  This choice was therefore moved to
      init/Kconfig, which worked, but placed the choice between classic and
      preemptible RCU at the top level, a very obtuse choice indeed.
      
      This patch changes from the Kconfig "choice" mechanism to a pair of booleans,
      only one of which (CONFIG_PREEMPT_RCU) is user-visible, and is located in
      kernel/Kconfig.preempt, where one would expect it to be.  The other
      (CONFIG_CLASSIC_RCU) is in init/Kconfig so that it is available to all
      architectures, hopefully avoiding build breakage.  Thanks to Roman Zippel for
      suggesting this approach.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Dipankar Sarma <dipankar@in.ibm.com>
      Cc: Josh Triplett <josh@freedesktop.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      21bbb39c
  8. 05 3月, 2008 4 次提交
    • B
      Memory controller: rename to Memory Resource Controller · 00f0b825
      Balbir Singh 提交于
      Rename Memory Controller to Memory Resource Controller.  Reflect the same
      changes in the CONFIG definition for the Memory Resource Controller.  Group
      together the config options for Resource Counters and Memory Resource
      Controller.
      Signed-off-by: NBalbir Singh <balbir@linux.vnet.ibm.com>
      Cc: Paul Menage <menage@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      00f0b825
    • A
      Fix "Malformed early option 'loglevel'" · d9d4fcfe
      Alex Riesen 提交于
      Keith Mannthey said:
      
        The parameter hotadd_percent is setup right but there is a "Malformed
        early option 'numa'" message.
      
      Rusty Russell said:
      
        This happens when the function registered with early_param() returns
        non-zero.  __setup() functions return 1 if OK, module_param() and
        early_param() return 0 or a -ve error code.
      
      For instance:
      
      Linux version 2.6.25-rc3-t (raa@steel) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #22 SMP PREEMPT Tue Feb 26
      BIOS-provided physical RAM map:
       BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
       BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
       BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
       BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
       BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
       BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
      Malformed early option 'loglevel'
      127MB HIGHMEM available.
      896MB LOWMEM available.
      
      Command line:
      
      BOOT_IMAGE=2.6.25-t ro root=809 ro console=ttyS0,57600n8 console=tty0 loglevel=5
      Acked-by: NYinghai Lu <yhlu.kernel@gmai.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Keith Mannthey <kmannth@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d9d4fcfe
    • I
      sysfs: CONFIG_SYSFS_DEPRECATED fix · d47846c5
      Ingo Molnar 提交于
      CONFIG_SYSFS_DEPRECATED=y changed its meaning recently and causes
      regressions in working setups that had SYSFS_DEPRECATED disabled.
      
      so rename it to SYSFS_DEPRECATED_V2 so that testers pick up the new
      default via 'make oldconfig', even if their old .config's disabled
      CONFIG_SYSFS_DEPRECATED ...
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d47846c5
    • G
      driver core: fix up Kconfig text for CONFIG_SYSFS_DEPRECATED · 024440d2
      Greg Kroah-Hartman 提交于
      As things get moved into this config option, the hard date of 2006 does
      not work anymore, so update the text to be more descriptive.
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      024440d2
  9. 24 2月, 2008 1 次提交
  10. 15 2月, 2008 1 次提交
  11. 13 2月, 2008 1 次提交
  12. 12 2月, 2008 1 次提交
    • S
      kbuild: fix make V=1 · fab1e310
      Sam Ravnborg 提交于
      When make -s support were added to filechk to
      combination created with make V=1 were not
      covered.
      Fix it by explicitly cover this case too.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Mike Frysinger <vapier@gentoo.org>
      fab1e310
  13. 10 2月, 2008 2 次提交
  14. 09 2月, 2008 9 次提交
  15. 08 2月, 2008 2 次提交
  16. 07 2月, 2008 2 次提交