1. 11 11月, 2016 1 次提交
    • S
      drivers: base: cacheinfo: fix x86 with CONFIG_OF enabled · fac51482
      Sudeep Holla 提交于
      With CONFIG_OF enabled on x86, we get the following error on boot:
      "
      	Failed to find cpu0 device node
       	Unable to detect cache hierarchy from DT for CPU 0
      "
      and the cacheinfo fails to get populated in the corresponding sysfs
      entries. This is because cache_setup_of_node looks for of_node for
      setting up the shared cpu_map without checking that it's already
      populated in the architecture specific callback.
      
      In order to indicate that the shared cpu_map is already populated, this
      patch introduces a boolean `cpu_map_populated` in struct cpu_cacheinfo
      that can be used by the generic code to skip cache_shared_cpu_map_setup.
      
      This patch also sets that boolean for x86.
      
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fac51482
  2. 27 10月, 2016 1 次提交
    • F
      cacheinfo: Introduce cache id · e9a2ea5a
      Fenghua Yu 提交于
      Cache management software needs an id for each instance of a cache of
      a particular type.
      
      The current cacheinfo structure does not provide any information about
      the underlying hardware so there is no way to expose it.
      
      Hardware with cache management features provides means (cpuid, enumeration
      etc.) to retrieve the hardware id of a particular cache instance. Cache
      instances which share hardware have the same hardware id.
      
      Add an 'id' field to struct cacheinfo to store this information. Expose
      this information under the /sys/devices/system/cpu/cpu*/cache/index*/
      directory as well.
      Signed-off-by: NFenghua Yu <fenghua.yu@intel.com>
      Cc: "Ravi V Shankar" <ravi.v.shankar@intel.com>
      Cc: "Tony Luck" <tony.luck@intel.com>
      Cc: "David Carrillo-Cisneros" <davidcc@google.com>
      Cc: "Sai Prakhya" <sai.praneeth.prakhya@intel.com>
      Cc: "Peter Zijlstra" <peterz@infradead.org>
      Cc: "Stephane Eranian" <eranian@google.com>
      Cc: "Dave Hansen" <dave.hansen@intel.com>
      Cc: "Shaohua Li" <shli@fb.com>
      Cc: "Nilay Vaish" <nilayvaish@gmail.com>
      Cc: "Vikas Shivappa" <vikas.shivappa@linux.intel.com>
      Cc: "Ingo Molnar" <mingo@elte.hu>
      Cc: "Borislav Petkov" <bp@suse.de>
      Cc: "H. Peter Anvin" <h.peter.anvin@intel.com>
      Link: http://lkml.kernel.org/r/1477142405-32078-3-git-send-email-fenghua.yu@intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      e9a2ea5a
  3. 25 5月, 2015 1 次提交
  4. 08 11月, 2014 1 次提交
    • S
      drivers: base: support cpu cache information interface to userspace via sysfs · 246246cb
      Sudeep Holla 提交于
      This patch adds initial support for providing processor cache information
      to userspace through sysfs interface. This is based on already existing
      implementations(x86, ia64, s390 and powerpc) and hence the interface is
      intended to be fully compatible.
      
      The main purpose of this generic support is to avoid further code
      duplication to support new architectures and also to unify all the existing
      different implementations.
      
      This implementation maintains the hierarchy of cache objects which reflects
      the system's cache topology. Cache devices are instantiated as needed as
      CPUs come online. The cache information is replicated per-cpu even if they are
      shared. A per-cpu array of cache information maintained is used mainly for
      sysfs-related book keeping.
      
      It also implements the shared_cpu_map attribute, which is essential for
      enabling both kernel and user-space to discover the system's overall cache
      topology.
      
      This patch also add the missing ABI documentation for the cacheinfo sysfs
      interface already, which is well defined and widely used.
      Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
      Reviewed-by: NStephen Boyd <sboyd@codeaurora.org>
      Tested-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-api@vger.kernel.org
      Cc: linux390@de.ibm.com
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-ia64@vger.kernel.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: linux-s390@vger.kernel.org
      Cc: x86@kernel.org
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      246246cb