1. 13 10月, 2007 7 次提交
  2. 18 9月, 2007 2 次提交
  3. 15 9月, 2007 1 次提交
  4. 21 8月, 2007 1 次提交
    • L
      ACPI: boot correctly with "nosmp" or "maxcpus=0" · 61ec7567
      Len Brown 提交于
      In MPS mode, "nosmp" and "maxcpus=0" boot a UP kernel with IOAPIC disabled.
      However, in ACPI mode, these parameters didn't completely disable
      the IO APIC initialization code and boot failed.
      
      init/main.c:
      	Disable the IO_APIC if "nosmp" or "maxcpus=0"
      	undefine disable_ioapic_setup() when it doesn't apply.
      
      i386:
      	delete ioapic_setup(), it was a duplicate of parse_noapic()
      	delete undefinition of disable_ioapic_setup()
      
      x86_64:
      	rename disable_ioapic_setup() to parse_noapic() to match i386
      	define disable_ioapic_setup() in header to match i386
      
      http://bugzilla.kernel.org/show_bug.cgi?id=1641Acked-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      61ec7567
  5. 15 8月, 2007 1 次提交
  6. 12 8月, 2007 6 次提交
    • L
      ACPI: thermal: create "thermal.act=" to disable or override active trip point · f8707ec9
      Len Brown 提交于
      thermal.act=-1 disables all active trip points
      in all ACPI thermal zones.
      
      thermal.act=C, where C > 0, overrides all lowest temperature
      active trip points in all thermal zones to C degrees Celsius.
      Raising this trip-point may allow you to keep your system silent
      up to a higher temperature.  However, it will not allow you to
      raise the lowest temperature trip point above the next higher
      trip point (if there is one).  Lowering this trip point may
      kick in the fan sooner.
      
      Note that overriding this trip-point will disable any BIOS attempts
      to implement hysteresis around the lowest temperature trip point.
      This may result in the fan starting and stopping frequently
      if temperature frequently crosses C.
      
      WARNING: raising trip points above the manufacturer's defaults
      may cause the system to run at higher temperature and shorten
      its life.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      f8707ec9
    • L
      ACPI: thermal: create "thermal.nocrt" to disable critical actions · f5487145
      Len Brown 提交于
      thermal.nocrt=1 disables actions on _CRT and _HOT
      ACPI thermal zone trip-points.  They will be marked
      as <disabled> in /proc/acpi/thermal_zone/*/trip_points.
      
      There are two cases where this option is used:
      
      1. Debugging a hot system crossing valid trip point.
      
         If your system fan is spinning at full speed,
         be sure that the vent is not clogged with dust.
         Many laptops have very fine thermal fins that are easily blocked.
      
         Check that the processor fan-sink is properly seated,
         has the proper thermal grease, and is really spinning.
      
         Check for fan related options in BIOS SETUP.
         Sometimes there is a performance vs quiet option.
         Defaults are generally the most conservative.
      
         If your fan is not spinning, yet /proc/acpi/fan/
         has files in it, please file a Linux/ACPI bug.
      
         WARNING: you risk shortening the lifetime of your
         hardware if you use this parameter on a hot system.
         Note that this refers to all system components,
         including the disk drive.
      
      2. Working around a cool system crossing critical
         trip point due to erroneous temperature reading.
      
         Try again with CONFIG_HWMON=n
         There is known potential for conflict between the
         the hwmon sub-system and the ACPI BIOS.
         If this fixes it, notify lm-sensors@lm-sensors.org
         and linux-acpi@vger.kernel.org
      
         Otherwise, file a Linux/ACPI bug, or notify
         just linux-acpi@vger.kernel.org.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      f5487145
    • L
      ACPI: thermal: create "thermal.psv=" to override passive trip points · a70cdc52
      Len Brown 提交于
      "thermal.psv=-1" disables passive trip points
      for all ACPI thermal zones.
      
      "thermal.psv=C", where 'C' is degrees Celsius,
      overrides all existing passive trip points
      for all ACPI thermal zones.
      
      thermal.psv is checked at module load time,
      and in response to trip-point change events.
      
      Note that if the system does not deliver thermal zone
      temperature change events near the new trip-point,
      then it will not be noticed.  To force your custom
      trip point to be noticed, you may need to enable polling:
      eg. thermal.tzp=3000 invokes polling every 5 minutes.
      
      Note that once passive thermal throttling is invoked,
      it has its own internal Thermal Sampling Period (_TSP),
      that is unrelated to _TZP.
      
      WARNING: disabling or raising a thermal trip point
      may result in increased running temperature and
      shorter hardware lifetime on some systems.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      a70cdc52
    • L
      ACPI: thermal: expose "thermal.tzp=" to set global polling frequency · 730ff34d
      Len Brown 提交于
      Thermal Zone Polling frequency (_TZP) is an optional ACPI object
      recommending the rate that the OS should poll the associated thermal zone.
      
      If _TZP is 0, no polling should be used.
      If _TZP is non-zero, then the platform recommends that
      the OS poll the thermal zone at the specified rate.
      The minimum period is 30 seconds.
      The maximum period is 5 minutes.
      
      (note _TZP and thermal.tzp units are in deci-seconds,
       so _TZP = 300 corresponds to 30 seconds)
      
      If _TZP is not present, ACPI 3.0b recommends that the
      thermal zone be polled at an "OS provided default frequency".
      
      However, common industry practice is:
      1. The BIOS never specifies any _TZP
      2. High volume OS's from this century never poll any thermal zones
      
      Ie. The OS depends on the platform's ability to
      provoke thermal events when necessary, and
      the "OS provided default frequency" is "never":-)
      
      There is a proposal that ACPI 4.0 be updated to reflect
      common industry practice -- ie. no _TZP, no polling.
      
      The Linux kernel already follows this practice --
      thermal zones are not polled unless _TZP is present and non-zero.
      
      But thermal zone polling is useful as a workaround for systems
      which have ACPI thermal control, but have an issue preventing
      thermal events.  Indeed, some Linux distributions still
      set a non-zero thermal polling frequency for this reason.
      
      But rather than ask the user to write a polling frequency
      into all the /proc/acpi/thermal_zone/*/polling_frequency
      files, here we simply document and expose the already
      existing module parameter to do the same at system level,
      to simplify debugging those broken platforms.
      
      Note that thermal.tzp is a module-load time parameter only.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      730ff34d
    • L
      ACPI: thermal: create "thermal.off=1" to disable ACPI thermal support · 72b33ef8
      Len Brown 提交于
      "thermal.off=1" disables all ACPI thermal support at boot time.
      
      CONFIG_ACPI_THERMAL=n can do this at build time.
      "# rmmod thermal" can do this at run time,
      as long as thermal is built as a module.
      
      WARNING: On some systems, disabling ACPI thermal support
      will cause the system to run hotter and reduce the
      lifetime of the hardware.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      72b33ef8
    • G
      kernel-parameters.txt : watchdog.txt should be wdt.txt · 8dfe9c21
      Gabriel C 提交于
      Documentation/watchdog/watchdog.txt does not exist, it is Documentation/watchdog/wdt.txt
      Signed-off-by: NGabriel Craciunescu <nix.or.die@googlemail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8dfe9c21
  7. 09 10月, 2007 1 次提交
  8. 01 8月, 2007 3 次提交
  9. 27 7月, 2007 1 次提交
  10. 26 7月, 2007 1 次提交
  11. 22 7月, 2007 1 次提交
    • A
      x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu · 2aae950b
      Andi Kleen 提交于
      This implements new vDSO for x86-64.  The concept is similar
      to the existing vDSOs on i386 and PPC.  x86-64 has had static
      vsyscalls before,  but these are not flexible enough anymore.
      
      A vDSO is a ELF shared library supplied by the kernel that is mapped into
      user address space.  The vDSO mapping is randomized for each process
      for security reasons.
      
      Doing this was needed for clock_gettime, because clock_gettime
      always needs a syscall fallback and having one at a fixed
      address would have made buffer overflow exploits too easy to write.
      
      The vdso can be disabled with vdso=0
      
      It currently includes a new gettimeofday implemention and optimized
      clock_gettime(). The gettimeofday implementation is slightly faster
      than the one in the old vsyscall.  clock_gettime is significantly faster
      than the syscall for CLOCK_MONOTONIC and CLOCK_REALTIME.
      
      The new calls are generally faster than the old vsyscall.
      
      Advantages over the old x86-64 vsyscalls:
      - Extensible
      - Randomized
      - Cleaner
      - Easier to virtualize (the old static address range previously causes
      overhead e.g. for Xen because it has to create special page tables for it)
      
      Weak points:
      - glibc support still to be written
      
      The VM interface is partly based on Ingo Molnar's i386 version.
      
      Includes compile fix from Joachim Deguara
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2aae950b
  12. 21 7月, 2007 1 次提交
  13. 18 7月, 2007 3 次提交
  14. 17 7月, 2007 8 次提交
    • D
      Allow softlockup to be runtime disabled · 97842216
      Dave Jones 提交于
      It's useful sometimes to disable the softlockup checker at boottime.
      Especially if it triggers during a distro install.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      97842216
    • P
      init: wait for asynchronously scanned block devices · cc1ed754
      Pierre Ossman 提交于
      Some buses (e.g.  USB and MMC) do their scanning of devices in the
      background, causing a race between them and prepare_namespace().  In order
      to be able to use these buses without an initrd, we now wait for the device
      specified in root= to actually show up.
      
      If the device never shows up than we will hang in an infinite loop.  In
      order to not mess with setups that reboot on panic, the feature must be
      turned on via the command line option "rootwait".
      
      [bunk@stusta.de: root_wait can become static]
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cc1ed754
    • R
      add printk.time option, deprecate 'time' · e84845c4
      Randy Dunlap 提交于
      Allow printk_time to be enabled or disabled at boot time.  Previously it
      could be enabled only, but not disabled.
      
      Change printk_time from an int to a bool since that's what it is.  Make its
      logical (exposed) name just be "time" (was "printk_time").
      
      Note: Changes kernel boot option syntax from "time" to "printk.time=value".
      
      Since printk_time is declared as a module_param, it can also be
      changed at run-time by modifying
        /sys/module/printk/parameters/time
      to a value of 1/Y/y to enabled it or 0/N/n to disable it.
      
      Since printk_time is declared as a module_param, its value can also
      be set at boot-time by using
        linux printk.time=<bool>
      
      If the "time" boot option is used, print a message that it is deprecated
      and will be removed.
      
      Note its planned removal in feature-removal-schedule.txt.
      Signed-off-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>
      e84845c4
    • I
      vdso: print fatal signals · 45807a1d
      Ingo Molnar 提交于
      Add the print-fatal-signals=1 boot option and the
      /proc/sys/kernel/print-fatal-signals runtime switch.
      
      This feature prints some minimal information about userspace segfaults to
      the kernel console.  This is useful to find early bootup bugs where
      userspace debugging is very hard.
      
      Defaults to off.
      
      [akpm@linux-foundation.org: Don't add new sysctl numbers]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NArjan van de Ven <arjan@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      45807a1d
    • A
      more scheduled OSS driver removal · b5d425c9
      Adrian Bunk 提交于
      This patch contains the scheduled removal of OSS drivers that:
      - have ALSA drivers for the same hardware without known regressions and
      - whose Kconfig options have been removed in 2.6.20.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Acked-by: NJeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b5d425c9
    • C
      SLUB: support slub_debug on by default · f0630fff
      Christoph Lameter 提交于
      Add a new configuration variable
      
      CONFIG_SLUB_DEBUG_ON
      
      If set then the kernel will be booted by default with slab debugging
      switched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging
      is available but must be enabled by specifying "slub_debug" as a
      kernel parameter.
      
      Also add support to switch off slab debugging for a kernel that was
      built with CONFIG_SLUB_DEBUG_ON. This works by specifying
      
      slub_debug=-
      
      as a kernel parameter.
      
      Dave Jones wanted this feature.
      http://marc.info/?l=linux-kernel&m=118072189913045&w=2
      
      [akpm@linux-foundation.org: clean up switch statement]
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f0630fff
    • K
      change zonelist order: zonelist order selection logic · f0c0b2b8
      KAMEZAWA Hiroyuki 提交于
      Make zonelist creation policy selectable from sysctl/boot option v6.
      
      This patch makes NUMA's zonelist (of pgdat) order selectable.
      Available order are Default(automatic)/ Node-based / Zone-based.
      
      [Default Order]
      The kernel selects Node-based or Zone-based order automatically.
      
      [Node-based Order]
      This policy treats the locality of memory as the most important parameter.
      Zonelist order is created by each zone's locality. This means lower zones
      (ex. ZONE_DMA) can be used before higher zone (ex. ZONE_NORMAL) exhausion.
      IOW. ZONE_DMA will be in the middle of zonelist.
      current 2.6.21 kernel uses this.
      
      Pros.
       * A user can expect local memory as much as possible.
      Cons.
       * lower zone will be exhansted before higher zone. This may cause OOM_KILL.
      
      Maybe suitable if ZONE_DMA is relatively big and you never see OOM_KILL
      because of ZONE_DMA exhaution and you need the best locality.
      
      (example)
      assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.
      
      *node(0)'s memory allocation order:
      
       node(0)'s NORMAL -> node(0)'s DMA -> node(1)'s NORMAL.
      
      *node(1)'s memory allocation order:
      
       node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA.
      
      [Zone-based order]
      This policy treats the zone type as the most important parameter.
      Zonelist order is created by zone-type order. This means lower zone
      never be used bofere higher zone exhaustion.
      IOW. ZONE_DMA will be always at the tail of zonelist.
      
      Pros.
       * OOM_KILL(bacause of lower zone) occurs only if the whole zones are exhausted.
      Cons.
       * memory locality may not be best.
      
      (example)
      assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.
      
      *node(0)'s memory allocation order:
      
       node(0)'s NORMAL -> node(1)'s NORMAL -> node(0)'s DMA.
      
      *node(1)'s memory allocation order:
      
       node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA.
      
      bootoption "numa_zonelist_order=" and proc/sysctl is supporetd.
      
      command:
      %echo N > /proc/sys/vm/numa_zonelist_order
      
      Will rebuild zonelist in Node-based order.
      
      command:
      %echo Z > /proc/sys/vm/numa_zonelist_order
      
      Will rebuild zonelist in Zone-based order.
      
      Thanks to Lee Schermerhorn, he gives me much help and codes.
      
      [Lee.Schermerhorn@hp.com: add check_highest_zone to build_zonelists_in_zone_order]
      [akpm@linux-foundation.org: build fix]
      Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: "jesse.barnes@intel.com" <jesse.barnes@intel.com>
      Signed-off-by: NLee Schermerhorn <lee.schermerhorn@hp.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f0c0b2b8
    • Y
      serial: convert early_uart to earlycon for 8250 · 18a8bd94
      Yinghai Lu 提交于
      Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and
      include/asm-x86_64/serial.h.  the serial8250_ports need to be probed late in
      serial initializing stage.  the console_init=>serial8250_console_init=>
      register_console=>serial8250_console_setup will return -ENDEV, and console
      ttyS0 can not be enabled at that time.  need to wait till uart_add_one_port in
      drivers/serial/serial_core.c to call register_console to get console ttyS0.
      that is too late.
      
      Make early_uart to use early_param, so uart console can be used earlier.  Make
      it to be bootconsole with CON_BOOT flag, so can use console handover feature.
      and it will switch to corresponding normal serial console automatically.
      
      new command line will be:
      	console=uart8250,io,0x3f8,9600n8
      	console=uart8250,mmio,0xff5e0000,115200n8
      or
      	earlycon=uart8250,io,0x3f8,9600n8
      	earlycon=uart8250,mmio,0xff5e0000,115200n8
      
      it will print in very early stage:
      	Early serial console at I/O port 0x3f8 (options '9600n8')
      	console [uart0] enabled
      later for console it will print:
      	console handover: boot [uart0] -> real [ttyS0]
      
      Signed-off-by: <yinghai.lu@sun.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Gerd Hoffmann <kraxel@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      18a8bd94
  15. 16 7月, 2007 1 次提交
  16. 10 7月, 2007 1 次提交
    • I
      sched: zap the migration init / cache-hot balancing code · 0437e109
      Ingo Molnar 提交于
      the SMP load-balancer uses the boot-time migration-cost estimation
      code to attempt to improve the quality of balancing. The reason for
      this code is that the discrete priority queues do not preserve
      the order of scheduling accurately, so the load-balancer skips
      tasks that were running on a CPU 'recently'.
      
      this code is fundamental fragile: the boot-time migration cost detector
      doesnt really work on systems that had large L3 caches, it caused boot
      delays on large systems and the whole cache-hot concept made the
      balancing code pretty undeterministic as well.
      
      (and hey, i wrote most of it, so i can say it out loud that it sucks ;-)
      
      under CFS the same purpose of cache affinity can be achieved without
      any special cache-hot special-case: tasks are sorted in the 'timeline'
      tree and the SMP balancer picks tasks from the left side of the
      tree, thus the most cache-cold task is balanced automatically.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0437e109
  17. 03 7月, 2007 1 次提交