> > so I'd appreciate it if you walk through your blocker with us here.
> >
> No blocker.  Or at least I hope not.  Currently (as in the code checked in
on
> my rdma-was branch), I'm trying to finesse
> thr_decode_rpc_request() by checking for the parameter, and calling
> nfs_rpc_execute() directly for RDMA (skipping the extra worker
> enqueue/dequeue).
> 
> But that only almost works.  nfs_rpc_execute() has a worker_data
> parameter, which is passed to every gol-darned nfs_proto function:
> 
> rc = reqnfs->funcdesc->service_function(arg_nfs,
>                                          worker_data, svcreq,
>                                          res_nfs);
> 
> I've already folded the worker_data into the fridge_entry, reducing the
> alloc/free cost (as they are one-to-one).
> 
> Since I have to fake this somehow, it seems to me a good time to simplify
the
> fridge itself.  After public discussion.
> 
> I'm hoping to eliminate the worker_data parameter entirely.
> 
> Or at least make it work for NULL.
> 
> It's impractical to copy and paste duplicate and re-write every nfs_proto
> function....

Hmm, we could definitely clean this up, it would be good to actually remove
it and anything that is really necessary be thread local variables.

The worker_index could become a general thread index and be a thread local
variable (it really is useful for debug logging so please don't anyone get
any bright ideas about removing it...).

I'm sure there's a better way to handle the hostaddr part (there was also
some talk about client manager being a performance downer). We do need to
know the hostaddr across the stack for various reasons, but again, we should
find a cleaner way to handle it that copying it into worker_data.

The other fields in worker_data are specific to the fridge and queuing and
should be separated anyway probably, and hopefully you are cleaning up how
all that works...

We actually should move ALL the request params into req_ctx, it would make
for simpler function processing and it's much easier to add/remove params
that way.

Frank



------------------------------------------------------------------------------
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to