Whamcloud - gitweb
LU-6261 gnilnd: Add ability to bind scheduler threads to cpus.
[fs/lustre-release.git] / lnet / klnds / gnilnd / gnilnd_modparams.c
index 7d1c39f..d8e8d87 100644 (file)
@@ -187,6 +187,10 @@ static int max_conn_purg = GNILND_PURGATORY_MAX;
 CFS_MODULE_PARM(max_conn_purg, "i", int, 0644,
                "Max number of connections per peer in purgatory");
 
+static int thread_affinity = 0;
+CFS_MODULE_PARM(thread_affinity, "i", int, 0444,
+               "scheduler thread affinity default 0 (diabled)");
+
 kgn_tunables_t kgnilnd_tunables = {
        .kgn_min_reconnect_interval = &min_reconnect_interval,
        .kgn_max_reconnect_interval = &max_reconnect_interval,
@@ -224,6 +228,7 @@ kgn_tunables_t kgnilnd_tunables = {
        .kgn_eager_credits          = &eager_credits,
        .kgn_fast_reconn            = &fast_reconn,
        .kgn_efault_lbug            = &efault_lbug,
+       .kgn_thread_affinity        = &thread_affinity,
        .kgn_max_purgatory          = &max_conn_purg
 };
 
@@ -510,6 +515,14 @@ static struct ctl_table kgnilnd_ctl_table[] = {
        },
        {
                INIT_CTL_NAME
+               .procname = "thread_affinity"
+               .data     = &thread_affinity,
+               .maxlen   = sizeof(int),
+               .mode     = 0444,
+               .proc_handler = &proc_dointvec
+       },
+       {
+               INIT_CTL_NAME
                .procname = "max_conn_purg"
                .data     = &max_conn_purg,
                .maxlen   = sizeof(int),