Commit cf0e124e authored by NeilBrown's avatar NeilBrown Committed by Chuck Lever

SUNRPC: move the pool_map definitions (back) into svc.c

These definitions are not used outside of svc.c, and there is no
evidence that they ever have been.  So move them into svc.c
and make the declarations 'static'.
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent ecd3ad68
...@@ -494,29 +494,6 @@ struct svc_procedure { ...@@ -494,29 +494,6 @@ struct svc_procedure {
const char * pc_name; /* for display */ const char * pc_name; /* for display */
}; };
/*
* Mode for mapping cpus to pools.
*/
enum {
SVC_POOL_AUTO = -1, /* choose one of the others */
SVC_POOL_GLOBAL, /* no mapping, just a single global pool
* (legacy & UP mode) */
SVC_POOL_PERCPU, /* one pool per cpu */
SVC_POOL_PERNODE /* one pool per numa node */
};
struct svc_pool_map {
int count; /* How many svc_servs use us */
int mode; /* Note: int not enum to avoid
* warnings about "enumeration value
* not handled in switch" */
unsigned int npools;
unsigned int *pool_to; /* maps pool id to cpu or node */
unsigned int *to_pool; /* maps cpu or node to pool id */
};
extern struct svc_pool_map svc_pool_map;
/* /*
* Function prototypes. * Function prototypes.
*/ */
...@@ -533,8 +510,6 @@ void svc_rqst_replace_page(struct svc_rqst *rqstp, ...@@ -533,8 +510,6 @@ void svc_rqst_replace_page(struct svc_rqst *rqstp,
struct page *page); struct page *page);
void svc_rqst_free(struct svc_rqst *); void svc_rqst_free(struct svc_rqst *);
void svc_exit_thread(struct svc_rqst *); void svc_exit_thread(struct svc_rqst *);
unsigned int svc_pool_map_get(void);
void svc_pool_map_put(void);
struct svc_serv * svc_create_pooled(struct svc_program *, unsigned int, struct svc_serv * svc_create_pooled(struct svc_program *, unsigned int,
const struct svc_serv_ops *); const struct svc_serv_ops *);
int svc_set_num_threads(struct svc_serv *, struct svc_pool *, int); int svc_set_num_threads(struct svc_serv *, struct svc_pool *, int);
......
...@@ -41,14 +41,35 @@ static void svc_unregister(const struct svc_serv *serv, struct net *net); ...@@ -41,14 +41,35 @@ static void svc_unregister(const struct svc_serv *serv, struct net *net);
#define SVC_POOL_DEFAULT SVC_POOL_GLOBAL #define SVC_POOL_DEFAULT SVC_POOL_GLOBAL
/*
* Mode for mapping cpus to pools.
*/
enum {
SVC_POOL_AUTO = -1, /* choose one of the others */
SVC_POOL_GLOBAL, /* no mapping, just a single global pool
* (legacy & UP mode) */
SVC_POOL_PERCPU, /* one pool per cpu */
SVC_POOL_PERNODE /* one pool per numa node */
};
/* /*
* Structure for mapping cpus to pools and vice versa. * Structure for mapping cpus to pools and vice versa.
* Setup once during sunrpc initialisation. * Setup once during sunrpc initialisation.
*/ */
struct svc_pool_map svc_pool_map = {
struct svc_pool_map {
int count; /* How many svc_servs use us */
int mode; /* Note: int not enum to avoid
* warnings about "enumeration value
* not handled in switch" */
unsigned int npools;
unsigned int *pool_to; /* maps pool id to cpu or node */
unsigned int *to_pool; /* maps cpu or node to pool id */
};
static struct svc_pool_map svc_pool_map = {
.mode = SVC_POOL_DEFAULT .mode = SVC_POOL_DEFAULT
}; };
EXPORT_SYMBOL_GPL(svc_pool_map);
static DEFINE_MUTEX(svc_pool_map_mutex);/* protects svc_pool_map.count only */ static DEFINE_MUTEX(svc_pool_map_mutex);/* protects svc_pool_map.count only */
...@@ -222,7 +243,7 @@ svc_pool_map_init_pernode(struct svc_pool_map *m) ...@@ -222,7 +243,7 @@ svc_pool_map_init_pernode(struct svc_pool_map *m)
* vice versa). Initialise the map if we're the first user. * vice versa). Initialise the map if we're the first user.
* Returns the number of pools. * Returns the number of pools.
*/ */
unsigned int static unsigned int
svc_pool_map_get(void) svc_pool_map_get(void)
{ {
struct svc_pool_map *m = &svc_pool_map; struct svc_pool_map *m = &svc_pool_map;
...@@ -257,7 +278,6 @@ svc_pool_map_get(void) ...@@ -257,7 +278,6 @@ svc_pool_map_get(void)
mutex_unlock(&svc_pool_map_mutex); mutex_unlock(&svc_pool_map_mutex);
return m->npools; return m->npools;
} }
EXPORT_SYMBOL_GPL(svc_pool_map_get);
/* /*
* Drop a reference to the global map of cpus to pools. * Drop a reference to the global map of cpus to pools.
...@@ -266,7 +286,7 @@ EXPORT_SYMBOL_GPL(svc_pool_map_get); ...@@ -266,7 +286,7 @@ EXPORT_SYMBOL_GPL(svc_pool_map_get);
* mode using the pool_mode module option without * mode using the pool_mode module option without
* rebooting or re-loading sunrpc.ko. * rebooting or re-loading sunrpc.ko.
*/ */
void static void
svc_pool_map_put(void) svc_pool_map_put(void)
{ {
struct svc_pool_map *m = &svc_pool_map; struct svc_pool_map *m = &svc_pool_map;
...@@ -283,7 +303,6 @@ svc_pool_map_put(void) ...@@ -283,7 +303,6 @@ svc_pool_map_put(void)
mutex_unlock(&svc_pool_map_mutex); mutex_unlock(&svc_pool_map_mutex);
} }
EXPORT_SYMBOL_GPL(svc_pool_map_put);
static int svc_pool_map_get_node(unsigned int pidx) static int svc_pool_map_get_node(unsigned int pidx)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment