From: Sagi Grimberg <sagi@xxxxxxxxxxxxxxxxx> Date: Thu, 15 Nov 2018 09:16:22 -0800 > +static unsigned nvmet_tcp_recv_budget = 8; > +module_param_named(recv_budget, nvmet_tcp_recv_budget, int, S_IRUGO | S_IWUSR); > +MODULE_PARM_DESC(recv_budget, "recvs budget"); > + > +static unsigned nvmet_tcp_send_budget = 8; > +module_param_named(send_budget, nvmet_tcp_send_budget, int, S_IRUGO | S_IWUSR); > +MODULE_PARM_DESC(send_budget, "sends budget"); > + > +static unsigned nvmet_tcp_io_work_budget = 64; > +module_param_named(io_work_budget, nvmet_tcp_io_work_budget, int, S_IRUGO | S_IWUSR); > +MODULE_PARM_DESC(io_work_budget, "io work budget"); I strongly suggest moving away from module parameters for this stuff. Create a genetlink socket family and allow run time configuration of these knobs by the user. Thanks.