1. 14 8月, 2013 1 次提交
  2. 01 8月, 2013 1 次提交
    • R
      powerpc: VPHN topology change updates all siblings · 3be7db6a
      Robert Jennings 提交于
      When an associativity level change is found for one thread, the
      siblings threads need to be updated as well.  This is done today
      for PRRN in stage_topology_update() but is missing for VPHN in
      update_cpu_associativity_changes_mask().  This patch will correctly
      update all thread siblings during a topology change.
      
      Without this patch a topology update can result in a CPU in
      init_sched_groups_power() getting stuck indefinitely in a loop.
      
      This loop is built in build_sched_groups(). As a result of the thread
      moving to a node separate from its siblings the struct sched_group will
      have its next pointer set to point to itself rather than the sched_group
      struct of the next thread.  This happens because we have a domain without
      the SD_OVERLAP flag, which is correct, and a topology that doesn't conform
      with reality (threads on the same core assigned to different numa nodes).
      When this list is traversed by init_sched_groups_power() it will reach
      the thread's sched_group structure and loop indefinitely; the cpu will
      be stuck at this point.
      
      The bug was exposed when VPHN was enabled in commit b7abef04 (v3.9).
      
      Cc: <stable@vger.kernel.org> [v3.9+]
      Reported-by: NJan Stancek <jstancek@redhat.com>
      Signed-off-by: NRobert Jennings <rcj@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      3be7db6a
  3. 01 7月, 2013 2 次提交
  4. 30 4月, 2013 3 次提交
    • N
      powerpc/pseries: Correct builds break when CONFIG_SMP not defined · 601abdc3
      Nathan Fontenot 提交于
      Correct build failure for powerpc/pseries builds with CONFIG_SMP not defined.
      
      The function cpu_sibling_mask has no meaning (or definition) when CONFIG_SMP
      is not defined. Additionally, the updating of NUMA affinity for a CPU in a UP
      system doesn't really make sense.
      
      This patch ifdef's out the code making the affinity updates for PRRN events to
      fix the following build break.
      
      arch/powerpc/mm/numa.c: In function ‘stage_topology_update’:
      arch/powerpc/mm/numa.c:1535: error: implicit declaration of function ‘cpu_sibling_mask’
      arch/powerpc/mm/numa.c:1535: warning: passing argument 3 of ‘cpumask_or’ makes pointer from integer without a cast
      make[1]: *** [arch/powerpc/mm/numa.o] Error 1
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      601abdc3
    • S
      powerpc: Fix build failure after merge of the cgroup tree · 9f3a90e8
      Stephen Rothwell 提交于
      After merging the cgroup tree, today's linux-next build (powerpc
      ppc64_defconfig) failed like this:
      
      arch/powerpc/mm/numa.c: In function 'arch_update_cpu_topology':
      arch/powerpc/mm/numa.c:1465:2: error: implicit declaration of function 'kzalloc' [-Werror=implicit-function-declaration]
      arch/powerpc/mm/numa.c:1465:10: error: assignment makes pointer from integer without a cast [-Werror]
      arch/powerpc/mm/numa.c:1497:2: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
      
      Caused by commit 30c05350 ("powerpc/pseries: Use stop machine to
      update cpu maps") from the powerpc tree interacting with (probably)
      commit ff794dea ("cpuset: remove include of cgroup.h from cpuset.h")
      from the cgroup tree.  Removing includes from header files is fraught
      with danger ...
      
      The former should have added an include of linux/slab.h to
      arch/powerpc/mm/numa.c.
      
      I have added the following merge fix patch for today (but it should be
      applied to the powerpc tree ASAP).
      
      From: Stephen Rothwell <sfr@canb.auug.org.au>
      Date: Mon, 29 Apr 2013 14:01:44 +1000
      Subject: [PATCH] powerpc: numa.c: using kzalloc/kfree requires including
       slab.h
      
      fixes these build errors:
      
      arch/powerpc/mm/numa.c: In function 'arch_update_cpu_topology':
      arch/powerpc/mm/numa.c:1465:2: error: implicit declaration of function 'kzalloc' [-Werror=implicit-function-declaration]
      arch/powerpc/mm/numa.c:1465:10: error: assignment makes pointer from integer without a cast [-Werror]
      arch/powerpc/mm/numa.c:1497:2: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Acked-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      9f3a90e8
    • C
      powerpc/mm/numa: use setup_nr_node_ids() instead of opencoding. · f9d531b8
      Cody P Schafer 提交于
      [sfr@canb.auug.org.au: add missing semicolon]
      Signed-off-by: NCody P Schafer <cody@linux.vnet.ibm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f9d531b8
  5. 26 4月, 2013 6 次提交
  6. 18 4月, 2013 2 次提交
    • S
      powerpc: fix annotation of fake_numa_create_new_node() · 55671f3c
      Stephen Rothwell 提交于
      This function has always been marked as __cpuinit, but is only called
      from functions marked as __init and references an __initdata variable.
      So change its annotation to __init.
      
      Fixes this build warning:
      
      WARNING: arch/powerpc/mm/built-in.o(.cpuinit.text+0x86): Section mismatch in reference from the function .fake_numa_create_new_node() to the variable .init.data:cmdline
      The function __cpuinit .fake_numa_create_new_node() references
      a variable __initdata cmdline.
      If cmdline is only used by .fake_numa_create_new_node then
      annotate cmdline with a matching annotation.
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      55671f3c
    • V
      powerpc: fix numa distance for form0 device tree · 7122beee
      Vaidyanathan Srinivasan 提交于
      The following commit breaks numa distance setup for old powerpc
      systems that use form0 encoding in device tree.
      
      commit 41eab6f8
      powerpc/numa: Use form 1 affinity to setup node distance
      
      Device tree node /rtas/ibm,associativity-reference-points would
      index into /cpus/PowerPCxxxx/ibm,associativity based on form0 or
      form1 encoding detected by ibm,architecture-vec-5 property.
      
      All modern systems use form1 and current kernel code is correct.
      However, on older systems with form0 encoding, the numa distance
      will get hard coded as LOCAL_DISTANCE for all nodes.  This causes
      task scheduling anomaly since scheduler will skip building numa
      level domain (topmost domain with all cpus) if all numa distances
      are same.  (value of 'level' in sched_init_numa() will remain 0)
      
      Prior to the above commit:
      ((from) == (to) ? LOCAL_DISTANCE : REMOTE_DISTANCE)
      
      Restoring compatible behavior with this patch for old powerpc systems
      with device tree where numa distance are encoded as form0.
      Signed-off-by: NVaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      7122beee
  7. 15 11月, 2012 1 次提交
  8. 05 9月, 2012 1 次提交
  9. 10 7月, 2012 1 次提交
  10. 03 7月, 2012 1 次提交
  11. 29 6月, 2012 1 次提交
  12. 29 3月, 2012 1 次提交
  13. 13 1月, 2012 1 次提交
  14. 22 12月, 2011 1 次提交
    • K
      cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem · 8a25a2fd
      Kay Sievers 提交于
      This moves the 'cpu sysdev_class' over to a regular 'cpu' subsystem
      and converts the devices to regular devices. The sysdev drivers are
      implemented as subsystem interfaces now.
      
      After all sysdev classes are ported to regular driver core entities, the
      sysdev implementation will be entirely removed from the kernel.
      
      Userspace relies on events and generic sysfs subsystem infrastructure
      from sysdev devices, which are made available with this conversion.
      
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Borislav Petkov <bp@amd64.org>
      Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8a25a2fd
  15. 19 12月, 2011 2 次提交
  16. 09 12月, 2011 1 次提交
    • T
      powerpc: Use HAVE_MEMBLOCK_NODE_MAP · 1d7cfe18
      Tejun Heo 提交于
      powerpc doesn't access early_node_map[] directly and enabling
      HAVE_MEMBLOCK_NODE_MAP is trivial - replacing add_active_range() calls
      with memblock_set_node() and selecting HAVE_MEMBLOCK_NODE_MAP is
      enough.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      1d7cfe18
  17. 02 12月, 2011 1 次提交
  18. 08 11月, 2011 1 次提交
  19. 01 11月, 2011 1 次提交
  20. 20 9月, 2011 3 次提交
  21. 15 7月, 2011 1 次提交
  22. 04 5月, 2011 1 次提交
  23. 27 4月, 2011 1 次提交
  24. 31 3月, 2011 1 次提交
  25. 10 3月, 2011 1 次提交
  26. 07 2月, 2011 3 次提交