1. 26 7月, 2008 1 次提交
  2. 25 7月, 2008 6 次提交
  3. 22 7月, 2008 1 次提交
    • K
      netfilter: accounting rework: ct_extend + 64bit counters (v4) · 58401572
      Krzysztof Piotr Oledzki 提交于
      Initially netfilter has had 64bit counters for conntrack-based accounting, but
      it was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are
      still required, for example for "connbytes" extension. However, 64bit counters
      waste a lot of memory and it was not possible to enable/disable it runtime.
      
      This patch:
       - reimplements accounting with respect to the extension infrastructure,
       - makes one global version of seq_print_acct() instead of two seq_print_counters(),
       - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS=n),
       - makes it possible to enable/disable it at runtime by sysctl or sysfs,
       - extends counters from 32bit to 64bit,
       - renames ip_conntrack_counter -> nf_conn_counter,
       - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT),
       - set initial accounting enable state based on CONFIG_NF_CT_ACCT
       - removes buggy IPCT_COUNTER_FILLING event handling.
      
      If accounting is enabled newly created connections get additional acct extend.
      Old connections are not changed as it is not possible to add a ct_extend area
      to confirmed conntrack. Accounting is performed for all connections with
      acct extend regardless of a current state of "net.netfilter.nf_conntrack_acct".
      Signed-off-by: NKrzysztof Piotr Oledzki <ole@ans.pl>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      58401572
  4. 20 7月, 2008 1 次提交
  5. 18 7月, 2008 1 次提交
  6. 17 7月, 2008 2 次提交
  7. 16 7月, 2008 1 次提交
  8. 15 7月, 2008 1 次提交
  9. 12 7月, 2008 1 次提交
  10. 08 7月, 2008 1 次提交
    • P
      x86 boot: only pick up additional EFI memmap if add_efi_memmap flag · 200001eb
      Paul Jackson 提交于
      Applies on top of the previous patch:
        x86 boot: add code to add BIOS provided EFI memory entries to kernel
      
      Instead of always adding EFI memory map entries (if present) to the
      memory map after initially finding either E820 BIOS memory map entries
      and/or kernel command line memmap entries, -instead- only add such
      additional EFI memory map entries if the kernel boot option:
      
          add_efi_memmap
      
      is specified.
      
      Requiring this 'add_efi_memmap' option is backward compatible with
      kernels that didn't load such additional EFI memory map entries in
      the first place, and it doesn't override a configuration that tries
      to replace all E820 or EFI BIOS memory map entries with ones given
      entirely on the kernel command line.
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Cc: "Yinghai Lu" <yhlu.kernel@gmail.com>
      Cc: "Jack Steiner" <steiner@sgi.com>
      Cc: "Mike Travis" <travis@sgi.com>
      Cc: "Huang
      Cc: Ying" <ying.huang@intel.com>
      Cc: "Andi Kleen" <andi@firstfloor.org>
      Cc: "Andrew Morton" <akpm@linux-foundation.org>
      Cc: Paul Jackson <pj@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      200001eb
  11. 07 7月, 2008 1 次提交
  12. 05 7月, 2008 2 次提交
  13. 03 7月, 2008 1 次提交
  14. 27 6月, 2008 1 次提交
  15. 13 6月, 2008 1 次提交
    • R
      Suspend-related patches for 2.6.27 · d8f3de0d
      Rafael J. Wysocki 提交于
      ACPI PM: Add possibility to change suspend sequence
      
      There are some systems out there that don't work correctly with
      our current suspend/hibernation code ordering.  Provide a workaround
      for these systems allowing them to pass 'acpi_sleep=old_ordering' in
      the kernel command line so that it will use the pre-ACPI 2.0 ("old")
      suspend code ordering.
      
      Unfortunately, this requires us to add a platform hook to the
      resuming of devices for recovering the platform in case one of the
      device drivers' .suspend() routines returns error code.  Namely,
      ACPI 1.0 specifies that _PTS should be called before suspending
      devices, but _WAK still should be called before resuming them in
      order to undo the changes made by _PTS.  However, if there is an
      error during suspending devices, they are automatically resumed
      without returning control to the PM core, so the _WAK has to be
      called from within device_resume() in that cases.
      
      The patch also reorders and refactors the ACPI suspend/hibernation
      code to avoid duplication as far as reasonably possible.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@suse.cz>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      d8f3de0d
  16. 11 6月, 2008 1 次提交
    • G
      PCI: boot parameter to avoid expansion ROM memory allocation · bb71ad88
      Gary Hade 提交于
      Contention for scarce PCI memory resources has been growing
      due to an increasing number of PCI slots in large multi-node
      systems.  The kernel currently attempts by default to
      allocate memory for all PCI expansion ROMs so there has
      also been an increasing number of PCI memory allocation
      failures seen on these systems.  This occurs because the
      BIOS either (1) provides insufficient PCI memory resource
      for all the expansion ROMs or (2) provides adequate PCI
      memory resource for expansion ROMs but provides the
      space in kernel unexpected BIOS assigned P2P non-prefetch
      windows.
      
      The resulting PCI memory allocation failures may be benign
      when related to memory requests for expansion ROMs themselves
      but in some cases they can occur when attempting to allocate
      space for more critical BARs.  This can happen when a successful
      expansion ROM allocation request consumes memory resource
      that was intended for a non-ROM BAR.  We have seen this
      happen during PCI hotplug of an adapter that contains a
      P2P bridge where successful memory allocation for an
      expansion ROM BAR on device behind the bridge consumed
      memory that was intended for a non-ROM BAR on the P2P bridge.
      In all cases the allocation failure messages can be very
      confusing for users.
      
      This patch provides a new 'pci=norom' kernel boot parameter
      that can be used to disable the default PCI expansion ROM memory
      resource allocation.  This provides a way to avoid the above
      described issues on systems that do not contain PCI devices
      for which drivers or user-level applications depend on the
      default PCI expansion ROM memory resource allocation behavior.
      Signed-off-by: NGary Hade <garyhade@us.ibm.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      bb71ad88
  17. 25 5月, 2008 3 次提交
    • Y
      x86: mtrr cleanup for converting continuous to discrete - auto detect v4 · 12031a62
      Yinghai Lu 提交于
      Loop through mtrr chunk_size and gran_size from 1M to 2G to find out
      the optimal value so user does not need to add mtrr_chunk_size and
      mtrr_gran_size to the kernel command line.
      
      If optimal value is not found, print out all list to help select less
      optimal value.
      
      Add mtrr_spare_reg_nr= so user could set 2 instead of 1, if the card
      need more entries.
      
      v2: find the one with more spare entries
      v3: fix hole_basek offset
      v4: tight the compare between range and range_new
          loop stop with 4g
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Gabriel C <nix.or.die@googlemail.com>
      Cc: Mika Fischer <mika.fischer@zoopnet.de>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      12031a62
    • Y
      x86: mtrr cleanup for converting continuous to discrete layout, v8 · 95ffa243
      Yinghai Lu 提交于
      some BIOS like to use continus MTRR layout, and X driver can not add
      WB entries for graphical cards when 4g or more RAM installed.
      
      the patch will change MTRR to discrete.
      
      mtrr_chunk_size= could be used to have smaller continuous block to hold holes.
      default is 256m, could be set according to size of graphics card memory.
      
      mtrr_gran_size= could be used to send smallest mtrr block to avoid run out of MTRRs
      
      v2: fix -1 for UC checking
      v3: default to disable, and need use enable_mtrr_cleanup to enable this feature
          skip the var state change warning.
          remove next_basek in range_to_mtrr()
      v4: correct warning mask.
      v5: CONFIG_MTRR_SANITIZER
      v6: fix 1g, 2g, 512 aligment with extra hole
      v7: gran_sizek to prevent running out of MTRRs.
      v8: fix hole_basek caculation caused when removing next_basek
          gran_sizek using when basek is 0.
      
      need to apply
      	[PATCH] x86: fix trimming e820 with MTRR holes.
      right after this one.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      95ffa243
    • I
      softlockup: allow panic on lockup · 9c44bc03
      Ingo Molnar 提交于
      allow users to configure the softlockup detector to generate a panic
      instead of a warning message.
      
      high-availability systems might opt for this strict method (combined
      with panic_timeout= boot option/sysctl), instead of generating
      softlockup warnings ad infinitum.
      
      also, automated tests work better if the system reboots reliably (into
      a safe kernel) in case of a lockup.
      
      The full spectrum of configurability is supported: boot option, sysctl
      option and Kconfig option.
      
      it's default-disabled.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      9c44bc03
  18. 15 5月, 2008 2 次提交
  19. 06 5月, 2008 2 次提交
  20. 30 4月, 2008 2 次提交
    • T
      infrastructure to debug (dynamic) objects · 3ac7fe5a
      Thomas Gleixner 提交于
      We can see an ever repeating problem pattern with objects of any kind in the
      kernel:
      
      1) freeing of active objects
      2) reinitialization of active objects
      
      Both problems can be hard to debug because the crash happens at a point where
      we have no chance to decode the root cause anymore.  One problem spot are
      kernel timers, where the detection of the problem often happens in interrupt
      context and usually causes the machine to panic.
      
      While working on a timer related bug report I had to hack specialized code
      into the timer subsystem to get a reasonable hint for the root cause.  This
      debug hack was fine for temporary use, but far from a mergeable solution due
      to the intrusiveness into the timer code.
      
      The code further lacked the ability to detect and report the root cause
      instantly and keep the system operational.
      
      Keeping the system operational is important to get hold of the debug
      information without special debugging aids like serial consoles and special
      knowledge of the bug reporter.
      
      The problems described above are not restricted to timers, but timers tend to
      expose it usually in a full system crash.  Other objects are less explosive,
      but the symptoms caused by such mistakes can be even harder to debug.
      
      Instead of creating specialized debugging code for the timer subsystem a
      generic infrastructure is created which allows developers to verify their code
      and provides an easy to enable debug facility for users in case of trouble.
      
      The debugobjects core code keeps track of operations on static and dynamic
      objects by inserting them into a hashed list and sanity checking them on
      object operations and provides additional checks whenever kernel memory is
      freed.
      
      The tracked object operations are:
      - initializing an object
      - adding an object to a subsystem list
      - deleting an object from a subsystem list
      
      Each operation is sanity checked before the operation is executed and the
      subsystem specific code can provide a fixup function which allows to prevent
      the damage of the operation.  When the sanity check triggers a warning message
      and a stack trace is printed.
      
      The list of operations can be extended if the need arises.  For now it's
      limited to the requirements of the first user (timers).
      
      The core code enqueues the objects into hash buckets.  The hash index is
      generated from the address of the object to simplify the lookup for the check
      on kfree/vfree.  Each bucket has it's own spinlock to avoid contention on a
      global lock.
      
      The debug code can be compiled in without being active.  The runtime overhead
      is minimal and could be optimized by asm alternatives.  A kernel command line
      option enables the debugging code.
      
      Thanks to Ingo Molnar for review, suggestions and cleanup patches.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Greg KH <greg@kroah.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3ac7fe5a
    • S
      Basic braille screen reader support · f7511d5f
      Samuel Thibault 提交于
      This adds a minimalistic braille screen reader support.  This is meant to
      be used by blind people e.g.  on boot failures or when / cannot be mounted
      etc and thus the userland screen readers can not work.
      
      [akpm@linux-foundation.org: fix exports]
      Signed-off-by: NSamuel Thibault <samuel.thibault@ens-lyon.org>
      Cc: Jiri Kosina <jikos@jikos.cz>
      Cc: Dmitry Torokhov <dtor@mail.ru>
      Acked-by: NAlan Cox <alan@redhat.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f7511d5f
  21. 29 4月, 2008 2 次提交
  22. 27 4月, 2008 1 次提交
  23. 21 4月, 2008 2 次提交
    • M
      PCI: iommu: iotlb flushing · 5e0d2a6f
      mark gross 提交于
      This patch is for batching up the flushing of the IOTLB for the DMAR
      implementation found in the Intel VT-d hardware.  It works by building a list
      of to be flushed IOTLB entries and a bitmap list of which DMAR engine they are
      from.
      
      After either a high water mark (250 accessible via debugfs) or 10ms the list
      of iova's will be reclaimed and the DMAR engines associated are IOTLB-flushed.
      
      This approach recovers 15 to 20% of the performance lost when using the IOMMU
      for my netperf udp stream benchmark with small packets.  It can be disabled
      with a kernel boot parameter "intel_iommu=strict".
      
      Its use does weaken the IOMMU protections a bit.
      Signed-off-by: NMark Gross <mgross@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5e0d2a6f
    • G
      PCI: remove initial bios sort of PCI devices on x86 · 1ba6ab11
      Greg Kroah-Hartman 提交于
      We currently keep 2 lists of PCI devices in the system, one in the
      driver core, and one all on its own.  This second list is sorted at boot
      time, in "BIOS" order, to try to remain compatible with older kernels
      (2.2 and earlier days).  There was also a "nosort" option to turn this
      sorting off, to remain compatible with even older kernel versions, but
      that just ends up being what we have been doing from 2.5 days...
      
      Unfortunately, the second list of devices is not really ever used to 
      determine the probing order of PCI devices or drivers[1].  That is done
      using the driver core list instead.  This change happened back in the
      early 2.5 days.
      
      Relying on BIOS ording for the binding of drivers to specific device
      names is problematic for many reasons, and userspace tools like udev
      exist to properly name devices in a persistant manner if that is needed,
      no reliance on the BIOS is needed.
      
      Matt Domsch and others at Dell noticed this back in 2006, and added a
      boot option to sort the PCI device lists (both of them) in a
      breadth-first manner to help remain compatible with the 2.4 order, if
      needed for any reason.  This option is not going away, as some systems
      rely on them.
      
      This patch removes the sorting of the internal PCI device list in "BIOS"
      mode, as it's not needed at all anymore, and hasn't for many years.
      I've also removed the PCI flags for this from some other arches that for
      some reason defined them, but never used them.
      
      This should not change the ordering of any drivers or device probing.
      
      [1] The old-style pci_get_device and pci_find_device() still used this
      sorting order, but there are very few drivers that use these functions,
      as they are deprecated for use in this manner.  If for some reason, a
      driver rely on the order and uses these functions, the breadth-first
      boot option will resolve any problem.
      
      Cc: Matt Domsch <Matt_Domsch@dell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1ba6ab11
  24. 20 4月, 2008 1 次提交
  25. 19 4月, 2008 1 次提交
    • A
      Security: Introduce security= boot parameter · 076c54c5
      Ahmed S. Darwish 提交于
      Add the security= boot parameter. This is done to avoid LSM
      registration clashes in case of more than one bult-in module.
      
      User can choose a security module to enable at boot. If no
      security= boot parameter is specified, only the first LSM
      asking for registration will be loaded. An invalid security
      module name will be treated as if no module has been chosen.
      
      LSM modules must check now if they are allowed to register
      by calling security_module_enable(ops) first. Modify SELinux
      and SMACK to do so.
      
      Do not let SMACK register smackfs if it was not chosen on
      boot. Smackfs assumes that smack hooks are registered and
      the initial task security setup (swapper->security) is done.
      Signed-off-by: NAhmed S. Darwish <darwish.07@gmail.com>
      Acked-by: NJames Morris <jmorris@namei.org>
      076c54c5
  26. 18 4月, 2008 1 次提交