mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 10:11:52 -04:00
staging: lustre: Handle nodemask on UMP machines
For UMP and SMP machines the struct cfs_cpt_table are defined differently. In the case handled by this patch nodemask is defined as a integer for the UMP case and as a pointer for the SMP case. This will cause a problem for ost_setup which reads the nodemask directly. Instead we create a UMP version of cfs_cpt_nodemask and use that in ost_setup. Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4199 Reviewed-on: http://review.whamcloud.com/9219 Starting in 3.14 kernels nodemask_t was changed from a a unsigned long to a linux bitmap so more than 32 cores could be supported. Using set_bit in cfs_cpt_table_alloc no longer compiles so this patch backports bits of the node management function that use a linux bitmap back end. Cleaned up libcfs bitmap.h to use the libcfs layers memory allocation function. This was pulling in lustre related code that was not defined. Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4993 Reviewed-on: http://review.whamcloud.com/10332 Signed-off-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Liang Zhen <liang.zhen@intel.com> Reviewed-by: Li Xi <pkuelelixi@gmail.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
de01e10c15
commit
d3ae87be4c
@@ -58,6 +58,7 @@ cfs_cpt_table_alloc(unsigned int ncpt)
|
||||
LIBCFS_ALLOC(cptab, sizeof(*cptab));
|
||||
if (cptab != NULL) {
|
||||
cptab->ctb_version = CFS_CPU_VERSION_MAGIC;
|
||||
node_set(0, cptab->ctb_nodemask);
|
||||
cptab->ctb_nparts = ncpt;
|
||||
}
|
||||
|
||||
@@ -111,6 +112,13 @@ cfs_cpt_online(struct cfs_cpt_table *cptab, int cpt)
|
||||
}
|
||||
EXPORT_SYMBOL(cfs_cpt_online);
|
||||
|
||||
nodemask_t *
|
||||
cfs_cpt_nodemask(struct cfs_cpt_table *cptab, int cpt)
|
||||
{
|
||||
return &cptab->ctb_nodemask;
|
||||
}
|
||||
EXPORT_SYMBOL(cfs_cpt_cpumask);
|
||||
|
||||
int
|
||||
cfs_cpt_set_cpu(struct cfs_cpt_table *cptab, int cpt, int cpu)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user