1. 17 12月, 2009 1 次提交
  2. 24 11月, 2009 1 次提交
    • G
      powerpc/pseries: Add hooks to put the CPU into an appropriate offline state · 3aa565f5
      Gautham R Shenoy 提交于
      When a CPU is offlined on POWER currently, we call rtas_stop_self() and hand
      the CPU back to the resource pool. This path is used for DLPAR which will
      cause a change in the LPAR configuration which will be visible outside.
      
      This patch changes the default state a CPU is put into when it is offlined.
      On platforms which support ceding the processor to the hypervisor with
      latency hint specifier value, during a cpu offline operation,
      instead of calling rtas_stop_self(), we cede the vCPU to the hypervisor
      while passing a latency hint specifier value. The Hypervisor can use this hint
      to provide better energy savings. Also, during the offline
      operation, the control of the vCPU remains with the LPAR as oppposed to
      returning it to the resource pool.
      
      The patch achieves this by creating an infrastructure to set the
      preferred_offline_state() which can be either
      - CPU_STATE_OFFLINE: which is the current behaviour of calling
        rtas_stop_self()
      
      - CPU_STATE_INACTIVE: which cedes the vCPU to the hypervisor with the latency
        hint specifier.
      
      The codepath which wants to perform a DLPAR operation can set the
      preferred_offline_state() of a CPU to CPU_STATE_OFFLINE before invoking
      cpu_down().
      
      The patch also provides a boot-time command line argument to disable/enable
      CPU_STATE_INACTIVE.
      Signed-off-by: NGautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      3aa565f5
  3. 18 12月, 2008 1 次提交
  4. 13 8月, 2008 1 次提交
  5. 26 1月, 2008 2 次提交
  6. 20 10月, 2007 1 次提交
    • C
      hotplug cpu: migrate a task within its cpuset · 470fd646
      Cliff Wickman 提交于
      When a cpu is disabled, move_task_off_dead_cpu() is called for tasks that have
      been running on that cpu.
      
      Currently, such a task is migrated:
       1) to any cpu on the same node as the disabled cpu, which is both online
          and among that task's cpus_allowed
       2) to any cpu which is both online and among that task's cpus_allowed
      
      It is typical of a multithreaded application running on a large NUMA system to
      have its tasks confined to a cpuset so as to cluster them near the memory that
      they share.  Furthermore, it is typical to explicitly place such a task on a
      specific cpu in that cpuset.  And in that case the task's cpus_allowed
      includes only a single cpu.
      
      This patch would insert a preference to migrate such a task to some cpu within
      its cpuset (and set its cpus_allowed to its entire cpuset).
      
      With this patch, migrate the task to:
       1) to any cpu on the same node as the disabled cpu, which is both online
          and among that task's cpus_allowed
       2) to any online cpu within the task's cpuset
       3) to any cpu which is both online and among that task's cpus_allowed
      
      In order to do this, move_task_off_dead_cpu() must make a call to
      cpuset_cpus_allowed_locked(), a new subset of cpuset_cpus_allowed(), that will
      not block.  (name change - per Oleg's suggestion)
      
      Calls are made to cpuset_lock() and cpuset_unlock() in migration_call() to set
      the cpuset mutex during the whole migrate_live_tasks() and
      migrate_dead_tasks() procedure.
      
      [akpm@linux-foundation.org: build fix]
      [pj@sgi.com: Fix indentation and spacing]
      Signed-off-by: NCliff Wickman <cpw@sgi.com>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: Paul Jackson <pj@sgi.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      470fd646
  7. 10 5月, 2007 1 次提交
    • R
      Add suspend-related notifications for CPU hotplug · 8bb78442
      Rafael J. Wysocki 提交于
      Since nonboot CPUs are now disabled after tasks and devices have been
      frozen and the CPU hotplug infrastructure is used for this purpose, we need
      special CPU hotplug notifications that will help the CPU-hotplug-aware
      subsystems distinguish normal CPU hotplug events from CPU hotplug events
      related to a system-wide suspend or resume operation in progress.  This
      patch introduces such notifications and causes them to be used during
      suspend and resume transitions.  It also changes all of the
      CPU-hotplug-aware subsystems to take these notifications into consideration
      (for now they are handled in the same way as the corresponding "normal"
      ones).
      
      [oleg@tv-sign.ru: cleanups]
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8bb78442
  8. 30 11月, 2006 1 次提交
  9. 21 10月, 2006 1 次提交
  10. 01 8月, 2006 1 次提交
  11. 29 3月, 2006 1 次提交
  12. 21 2月, 2006 1 次提交
  13. 18 2月, 2006 2 次提交
  14. 17 2月, 2006 1 次提交
  15. 09 1月, 2006 1 次提交