Whamcloud - gitweb
LU-4199 libcfs: add CPU table functions for uniprocessor 73/8873/3
authorLi Xi <lixi@ddn.com>
Tue, 4 Feb 2014 13:41:49 +0000 (08:41 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 28 Mar 2014 04:53:29 +0000 (04:53 +0000)
Some CPU table functions for uniprocessor architecture is
missing.

Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I2b41af63ebb5e4a1362e026d75b87855c1e7e2fa
Reviewed-on: http://review.whamcloud.com/8873
Tested-by: Jenkins
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
libcfs/include/libcfs/libcfs_cpu.h
libcfs/include/libcfs/linux/linux-mem.h
libcfs/libcfs/libcfs_cpu.c

index ef15297..50aca83 100644 (file)
 
 #ifndef HAVE_LIBCFS_CPT
 
 
 #ifndef HAVE_LIBCFS_CPT
 
+#ifndef __KERNEL__
 typedef unsigned long          cpumask_t;
 typedef unsigned long          nodemask_t;
 typedef unsigned long          cpumask_t;
 typedef unsigned long          nodemask_t;
+#endif
 
 struct cfs_cpt_table {
        /* # of CPU partitions */
 
 struct cfs_cpt_table {
        /* # of CPU partitions */
@@ -195,6 +197,11 @@ void cfs_cpt_clear(struct cfs_cpt_table *cptab, int cpt);
 int cfs_cpt_spread_node(struct cfs_cpt_table *cptab, int cpt);
 
 /**
 int cfs_cpt_spread_node(struct cfs_cpt_table *cptab, int cpt);
 
 /**
+ * return number of HTs in the same core of \a cpu
+ */
+int cfs_cpu_ht_nsiblings(int cpu);
+
+/**
  * iterate over all CPU partitions in \a cptab
  */
 #define cfs_cpt_for_each(i, cptab)     \
  * iterate over all CPU partitions in \a cptab
  */
 #define cfs_cpt_for_each(i, cptab)     \
index c8861d0..6109645 100644 (file)
 # include <linux/mm_inline.h>
 #endif
 
 # include <linux/mm_inline.h>
 #endif
 
+#ifndef HAVE_LIBCFS_CPT
+/* Need this for cfs_cpt_table */
+#include <libcfs/libcfs_cpu.h>
+#endif
+
 #define CFS_PAGE_MASK                   (~((__u64)PAGE_CACHE_SIZE-1))
 
 #define page_index(p)       ((p)->index)
 #define CFS_PAGE_MASK                   (~((__u64)PAGE_CACHE_SIZE-1))
 
 #define page_index(p)       ((p)->index)
index 87dec68..1fa5d65 100644 (file)
@@ -76,6 +76,20 @@ cfs_cpt_table_free(struct cfs_cpt_table *cptab)
 EXPORT_SYMBOL(cfs_cpt_table_free);
 
 int
 EXPORT_SYMBOL(cfs_cpt_table_free);
 
 int
+cfs_cpt_table_print(struct cfs_cpt_table *cptab, char *buf, int len)
+{
+       int     rc = 0;
+
+       rc = snprintf(buf, len, "%d\t: %d\n", 0, 0);
+       len -= rc;
+       if (len <= 0)
+               return -EFBIG;
+
+       return rc;
+}
+EXPORT_SYMBOL(cfs_cpt_table_print);
+
+int
 cfs_cpt_number(struct cfs_cpt_table *cptab)
 {
        return 1;
 cfs_cpt_number(struct cfs_cpt_table *cptab)
 {
        return 1;
@@ -169,6 +183,13 @@ cfs_cpt_spread_node(struct cfs_cpt_table *cptab, int cpt)
 EXPORT_SYMBOL(cfs_cpt_spread_node);
 
 int
 EXPORT_SYMBOL(cfs_cpt_spread_node);
 
 int
+cfs_cpu_ht_nsiblings(int cpu)
+{
+       return 1;
+}
+EXPORT_SYMBOL(cfs_cpu_ht_nsiblings);
+
+int
 cfs_cpt_current(struct cfs_cpt_table *cptab, int remap)
 {
        return 0;
 cfs_cpt_current(struct cfs_cpt_table *cptab, int remap)
 {
        return 0;