> > On Tue, May 19, 2015 at 9:42 PM, Wan, Kaike wrote: > >> > >> >> what's actually the role of the module param? why it belongs here? > >> >> is that really unavoidable to have it? > >> > >> > It's nice to provide the capability for the user to adjust the > >> > netlink timeout > >> based his/her fabric setup. > >> > >> NO, adding module params should be really your last resort when > >> everything else wouldn't work, definitely not the case here, remove it. > > > > Are you suggesting that we use the timeout the caller provides? Or if there is > no timeout (0) provided, use a default one? > > Not sure, pick one of these, whatever works for you the best. No this will not work. We don't want to use the timeout the caller provides. The timeout for netlink may (and should be) different from the timeout needed when sending to the SA directly. > > > Looking through the IB drivers, I do find many module parameters. > > One of the most basic rules in kernel programming (and suggested for life too), > is that if you something done by other drivers, this doesn't necessarily means > it's the right thing to do [1] This may be true... > > Module params are problematic, and sometimes cause way more damage then > benefit, some subsystem kernel maintainers kind of disallow them totally > (networking), maybe do some reading and talking with kernel developers @ > your firm to learn more. I have searched high and low for the problems with module parameters and have found no documentation which disallows their use. Do you have a reference which shows why they should be disallowed? While other mechanisms can be used the use of this parameter is very simple and the addition of a module parameter seems appropriate in this case. Ira NrybXǧv^)޺{.n+{ٚ{ayʇڙ,jfh/oScڳ9u&jw(階ݢj"mzޖfh~m