Re: Safe to delete rpcrdma.ko loading start-up code

Jason Gunthorpe
2024-05-21T13:37:32Z

On Tue, May 21, 2024 at 04:05:05PM +0300, Sagi Grimberg wrote:
>
>
> On 21/05/2024 15:43, Jason Gunthorpe wrote:
> > On Tue, May 21, 2024 at 12:04:02PM +0300, Sagi Grimberg wrote:
> > >
> > > On 20/05/2024 21:05, Chuck Lever III wrote:
> > > > Hi-
> > > >
> > > > I've tested this with two kinds of systems:
> > > >
> > > > 1. A system with no physical RDMA devices and no start-up
> > > > scripts to load these modules
> > > >
> > > > 2. A system with physical RDMA devices and with the start-up
> > > > scripts that load xprtrdma/svcrdma
> > > >
> > > > In both cases, after doing an "rmmod rpcrdma", I can mount
> > > > a "proto=rdma" mount or start the NFS server, and the module
> > > > gets reloaded automatically.
> > > >
> > > > I therefore believe it is safe to delete the code in the
> > > > rdma-core start-up scripts that manually load RPC-related
> > > > RDMA support. Either the sunrpc.ko module does this, or NFS
> > > > user space handles it. There's no need for the rdma-core
> > > > scripting.
> > > I didn't know that rdma-core does this... it really shouldn't, the
> > > mount should (and does) handle it.
> > This is new, it didn't used to do this
> >
> > > I also see that srp(t) and iser(t) are loaded too.. IIRC these are
> > > loaded by their userspace counterparts as well (or at least they
> > > should).
> > And AFIAK, these don't have a way to autoload at all. autoload
> > requires the kernel to call request_module..
>
> nvme/nvmet/isert are requested by the kernel.

How? What is the interface to trigger request_module?

> iser is loaded by iscsiadm.

Yuk :\

> IIRC srp had a userspace daemon loading it.

srp-daemon requires it already loaded AFAIK

Jason