MODULE_PARM_DESC(use_tcp_bonding,
"Set to 1 to use socklnd bonding. 0 to use Multi-Rail");
+static __u32 lnet_numa_range = 0;
+module_param(lnet_numa_range, int, 0444);
+MODULE_PARM_DESC(lnet_numa_range,
+ "NUMA range to consider during Multi-Rail selection");
+
/*
* This sequence number keeps track of how many times DLC was used to
* update the configuration. It is incremented on any DLC update and
cfg_ni->lic_nid = ni->ni_nid;
cfg_ni->lic_status = ni->ni_status->ns_status;
cfg_ni->lic_tcp_bonding = use_tcp_bonding;
+ cfg_ni->lic_dev_cpt = ni->dev_cpt;
memcpy(&tun->lt_cmn, &ni->ni_net->net_tunables, sizeof(tun->lt_cmn));
return atomic_read(&lnet_dlc_seq_no);
}
+inline __u32 lnet_get_numa_range(void)
+{
+ return lnet_numa_range;
+}
+
/**
* LNet ioctl handler.
*
mutex_unlock(&the_lnet.ln_api_mutex);
return rc;
+ case IOC_LIBCFS_SET_NUMA_RANGE: {
+ struct lnet_ioctl_numa_range *numa;
+ numa = arg;
+ if (numa->nr_hdr.ioc_len != sizeof(*numa))
+ return -EINVAL;
+ lnet_numa_range = numa->nr_range;
+ return 0;
+ }
+
+ case IOC_LIBCFS_GET_NUMA_RANGE: {
+ struct lnet_ioctl_numa_range *numa;
+ numa = arg;
+ if (numa->nr_hdr.ioc_len != sizeof(*numa))
+ return -EINVAL;
+ numa->nr_range = lnet_numa_range;
+ return 0;
+ }
+
case IOC_LIBCFS_GET_BUF: {
struct lnet_ioctl_pool_cfg *pool_cfg;
size_t total = sizeof(*config) + sizeof(*pool_cfg);