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