In December to mid-January, I prepared a fairly large amount of
internal alloc/free and lock restructuring.  It took only a few days
to integrate some old patches and add some new ideas.  Some of these
patches were originally ~18 months old.

It's taken two months to feed those patches into the code review
process.  This week, DanG will likely have some time to review the
last batch of patches.  That will be a good time to pause.

This has removed 1 of the 3 thread context switches in the output
path.  Also, it removed 3 of the 5 locks in the ntirpc input path,
and removed the separate send output lock entirely.

It has combined many small data structures, reducing memory
management contention.

There should be a measurable improvement in throughput....

The next set of patches affect the epoll and per-connection setup.
I've tried this in the past, and never gotten it to work properly.
It will take awhile and be disruptive to both ntirpc and ganesha.

Also, I'd like to port the I/O processing that I'd written for
RDMA to TCP (and probably UDP).  That's a lot of work, too.

In conclusion, I'm advocating that we tag V2.5 (ntirpc 1.5) very
soon, so the -fc process can shake out any bugs and allow tuning,
before we embark on the next significant steps.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to