From: nikita Date: Fri, 21 Apr 2006 20:39:52 +0000 (+0000) Subject: add ptlrpc_init_svc_conf() X-Git-Tag: v1_8_0_110~486^2~1947 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=ed39734d20f5b3d798a61e762b174588f2e8ee36;p=fs%2Flustre-release.git add ptlrpc_init_svc_conf() --- diff --git a/lustre/include/linux/lustre_net.h b/lustre/include/linux/lustre_net.h index b1ab4fe..89bb2fe 100644 --- a/lustre/include/linux/lustre_net.h +++ b/lustre/include/linux/lustre_net.h @@ -93,6 +93,8 @@ #define MDT_MAX_THREADS 32UL #define MDT_NUM_THREADS max(min_t(unsigned long, MDT_MAX_THREADS, \ num_physpages >> (25 - PAGE_SHIFT)), 2UL) +#define FLD_NUM_THREADS max(min_t(unsigned long, MDT_MAX_THREADS, \ + num_physpages >> (25 - PAGE_SHIFT)), 2UL) #define MDS_NBUFS (64 * smp_num_cpus) #define MDS_BUFSIZE (8 * 1024) @@ -120,7 +122,7 @@ #define MGS_MAX_THREADS 8UL #define MGS_NUM_THREADS max(2UL, min_t(unsigned long, MGS_MAX_THREADS, \ num_physpages * smp_num_cpus >> (26 - PAGE_SHIFT))) - + #define MGS_NBUFS (64 * smp_num_cpus) #define MGS_BUFSIZE (8 * 1024) #define MGS_MAXREQSIZE (5 * 1024) @@ -698,11 +700,29 @@ __u64 ptlrpc_next_xid(void); __u64 ptlrpc_sample_next_xid(void); __u64 ptlrpc_req_xid(struct ptlrpc_request *request); +struct ptlrpc_service_conf { + int psc_nbufs; + int psc_bufsize; + int psc_max_req_size; + int psc_max_reply_size; + int psc_req_portal; + int psc_rep_portal; + int psc_watchdog_timeout; /* in ms */ + int psc_num_threads; +}; + + /* ptlrpc/service.c */ void ptlrpc_save_lock (struct ptlrpc_request *req, struct lustre_handle *lock, int mode); void ptlrpc_commit_replies (struct obd_device *obd); void ptlrpc_schedule_difficult_reply (struct ptlrpc_reply_state *rs); + +struct ptlrpc_service *ptlrpc_init_svc_conf(struct ptlrpc_service_conf *c, + svc_handler_t h, char *name, + struct proc_dir_entry *proc_entry, + svcreq_printfn_t prntfn); + struct ptlrpc_service *ptlrpc_init_svc(int nbufs, int bufsize, int max_req_size, int max_reply_size, int req_portal, int rep_portal, diff --git a/lustre/ptlrpc/service.c b/lustre/ptlrpc/service.c index 29d6482..9b3fb47 100644 --- a/lustre/ptlrpc/service.c +++ b/lustre/ptlrpc/service.c @@ -265,6 +265,20 @@ ptlrpc_server_post_idle_rqbds (struct ptlrpc_service *svc) return (-1); } +struct ptlrpc_service *ptlrpc_init_svc_conf(struct ptlrpc_service_conf *c, + svc_handler_t h, char *name, + struct proc_dir_entry *proc_entry, + svcreq_printfn_t prntfn) +{ + return ptlrpc_init_svc(c->psc_nbufs, c->psc_bufsize, + c->psc_max_req_size, c->psc_max_reply_size, + c->psc_req_portal, c->psc_rep_portal, + c->psc_watchdog_timeout, + h, name, proc_entry, + prntfn, c->psc_num_threads); +} +EXPORT_SYMBOL(ptlrpc_init_svc_conf); + struct ptlrpc_service * ptlrpc_init_svc(int nbufs, int bufsize, int max_req_size, int max_reply_size, int req_portal, int rep_portal, int watchdog_timeout,