1. 06 11月, 2008 1 次提交
  2. 25 8月, 2008 1 次提交
    • A
      x86: default to reboot via ACPI · c7ffa6c2
      Avi Kivity 提交于
      Triple-fault and keyboard reset may assert INIT instead of RESET; however
      INIT is blocked when Intel VT is enabled.  This leads to a partially reset
      machine when invoking emergency_restart via sysrq-b: the processor is still
      working but other parts of the system are dead.
      
      Default to rebooting via ACPI, which correctly asserts RESET and reboots the
      machine.
      
      This is safe since we will fall back to keyboard reset and triple fault if
      acpi is not enabled or if the reset is not successful.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c7ffa6c2
  3. 26 7月, 2008 1 次提交
  4. 19 7月, 2008 1 次提交
    • M
      cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr · 65c01184
      Mike Travis 提交于
        * This patch replaces the dangerous lvalue version of cpumask_of_cpu
          with new cpumask_of_cpu_ptr macros.  These are patterned after the
          node_to_cpumask_ptr macros.
      
          In general terms, if there is a cpumask_of_cpu_map[] then a pointer to
          the cpumask_of_cpu_map[cpu] entry is used.  The cpumask_of_cpu_map
          is provided when there is a large NR_CPUS count, reducing
          greatly the amount of code generated and stack space used for
          cpumask_of_cpu().  The pointer to the cpumask_t value is needed for
          calling set_cpus_allowed_ptr() to reduce the amount of stack space
          needed to pass the cpumask_t value.
      
          If there isn't a cpumask_of_cpu_map[], then a temporary variable is
          declared and filled in with value from cpumask_of_cpu(cpu) as well as
          a pointer variable pointing to this temporary variable.  Afterwards,
          the pointer is used to reference the cpumask value.  The compiler
          will optimize out the extra dereference through the pointer as well
          as the stack space used for the pointer, resulting in identical code.
      
          A good example of the orthogonal usages is in net/sunrpc/svc.c:
      
      	case SVC_POOL_PERCPU:
      	{
      		unsigned int cpu = m->pool_to[pidx];
      		cpumask_of_cpu_ptr(cpumask, cpu);
      
      		*oldmask = current->cpus_allowed;
      		set_cpus_allowed_ptr(current, cpumask);
      		return 1;
      	}
      	case SVC_POOL_PERNODE:
      	{
      		unsigned int node = m->pool_to[pidx];
      		node_to_cpumask_ptr(nodecpumask, node);
      
      		*oldmask = current->cpus_allowed;
      		set_cpus_allowed_ptr(current, nodecpumask);
      		return 1;
      	}
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      65c01184
  5. 17 7月, 2008 1 次提交
  6. 25 5月, 2008 1 次提交
  7. 05 5月, 2008 1 次提交
  8. 01 5月, 2008 1 次提交
  9. 27 4月, 2008 2 次提交
  10. 25 4月, 2008 1 次提交
    • J
      x86: unify KERNEL_PGD_PTRS · 68db065c
      Jeremy Fitzhardinge 提交于
      Make KERNEL_PGD_PTRS common, as previously it was only being defined
      for 32-bit.
      
      There are a couple of follow-on changes from this:
       - KERNEL_PGD_PTRS was being defined in terms of USER_PGD_PTRS.  The
         definition of USER_PGD_PTRS doesn't really make much sense on x86-64,
         since it can have two different user address-space configurations.
         I renamed USER_PGD_PTRS to KERNEL_PGD_BOUNDARY, which is meaningful
         for all of 32/32, 32/64 and 64/64 process configurations.
      
       - USER_PTRS_PER_PGD was also defined and was being used for similar
         purposes.  Converting its users to KERNEL_PGD_BOUNDARY left it
         completely unused, and so I removed it.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Zach Amsden <zach@vmware.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      68db065c
  11. 20 4月, 2008 1 次提交
    • M
      x86: use new set_cpus_allowed_ptr function · fc0e4748
      Mike Travis 提交于
        * Use new set_cpus_allowed_ptr() function added by previous patch,
          which instead of passing the "newly allowed cpus" cpumask_t arg
          by value,  pass it by pointer:
      
          -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)
          +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)
      
        * Cleanup uses of CPU_MASK_ALL.
      
        * Collapse other NR_CPUS changes to arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
          Use pointers to cpumask_t arguments whenever possible.
      
      Depends on:
      	[sched-devel]: sched: add new set_cpus_allowed_ptr function
      
      Cc: Len Brown <len.brown@intel.com>
      Cc: Dave Jones <davej@codemonkey.org.uk>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      fc0e4748
  12. 17 4月, 2008 2 次提交
  13. 22 3月, 2008 2 次提交
  14. 07 3月, 2008 1 次提交
  15. 13 2月, 2008 1 次提交
  16. 30 1月, 2008 3 次提交
  17. 04 12月, 2007 1 次提交
  18. 14 10月, 2007 1 次提交
    • D
      Delete filenames in comments. · 835c34a1
      Dave Jones 提交于
      Since the x86 merge, lots of files that referenced their own filenames
      are no longer correct.  Rather than keep them up to date, just delete
      them, as they add no real value.
      
      Additionally:
      - fix up comment formatting in scx200_32.c
      - Remove a credit from myself in setup_64.c from a time when we had no SCM
      - remove longwinded history from tsc_32.c which can be figured out from
        git.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      835c34a1
  19. 11 10月, 2007 2 次提交
  20. 10 10月, 2007 1 次提交
    • J
      drivers/firmware: const-ify DMI API and internals · 1855256c
      Jeff Garzik 提交于
      Three main sets of changes:
      
      1) dmi_get_system_info() return value should have been marked const,
         since callers should not be changing that data.
      
      2) const-ify DMI internals, since DMI firmware tables should,
         whenever possible, be marked const to ensure we never ever write to
         that data area.
      
      3) const-ify DMI API, to enable marking tables const where possible
         in low-level drivers.
      
      And if we're really lucky, this might enable some additional
      optimizations on the part of the compiler.
      
      The bulk of the changes are #2 and #3, which are interrelated.  #1 could
      have been a separate patch, but it was so small compared to the others,
      it was easier to roll it into this changeset.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      1855256c
  21. 22 7月, 2007 1 次提交
  22. 01 6月, 2007 1 次提交
  23. 03 5月, 2007 3 次提交
  24. 08 12月, 2006 1 次提交
  25. 26 9月, 2006 1 次提交
  26. 01 7月, 2006 1 次提交
  27. 12 1月, 2006 1 次提交
    • E
      [PATCH] i386/x86-64: Don't IPI to offline cpus on shutdown · 6e3fbee5
      Eric W. Biederman 提交于
      So why are we calling smp_send_stop from machine_halt?
      
      We don't.
      
      Looking more closely at the bug report the problem here
      is that halt -p is called which triggers not a halt but
      an attempt to power off.
      
      machine_power_off calls machine_shutdown which calls smp_send_stop.
      
      If pm_power_off is set we should never make it out machine_power_off
      to the call of do_exit.  So pm_power_off must not be set in this case.
      When pm_power_off is not set we expect machine_power_off to devolve
      into machine_halt.
      
      So how do we fix this?
      
      Playing too much with smp_send_stop is dangerous because it
      must also be safe to be called from panic.
      
      It looks like the obviously correct fix is to only call
      machine_shutdown when pm_power_off is defined.  Doing
      that will make Andi's assumption about not scheduling
      true and generally simplify what must be supported.
      
      This turns machine_power_off into a noop like machine_halt
      when pm_power_off is not defined.
      
      If the expected behavior is that sys_reboot(LINUX_REBOOT_CMD_POWER_OFF)
      becomes sys_reboot(LINUX_REBOOT_CMD_HALT) if pm_power_off is NULL
      this is not quite a comprehensive fix as we pass a different parameter
      to the reboot notifier and we set system_state to a different value
      before calling device_shutdown().
      
      Unfortunately any fix more comprehensive I can think of is not
      obviously correct.  The core problem is that there is no architecture
      independent way to detect if machine_power will become a noop, without
      calling it.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6e3fbee5
  28. 07 1月, 2006 1 次提交
  29. 30 11月, 2005 1 次提交
  30. 13 9月, 2005 1 次提交
  31. 05 9月, 2005 1 次提交
  32. 27 7月, 2005 1 次提交
    • E
      [PATCH] i386 machine_power_off cleanup · 4fa2564a
      Eric W. Biederman 提交于
      Call machine_shutdown() to move to the boot cpu
      and disable apics.  Both acpi_power_off and
      apm_power_off want to move to the boot cpu.
      and we are already disabling the local apics
      so calling machine_shutdown simply reuses
      code.
      
      ia64 doesn't have a special path in power_off
      for efi so there is no reason i386 should.  If
      we really need to call the efi power off path
      the efi driver can set pm_power_off like everyone
      else.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4fa2564a