@ahrens We weren't avoiding object number dnode lookups in ZIL, which matters for heavily synchronous workloads. I observed something like a 25% reduction in average latency from this in a branch at work, which I attributed to the reduction in time needed in `zil_commit()`. I will admit that I do not have records demonstrating that I strictly isolated this from other minor changes when evaluating it. The other changes being that I backported the switch to _uio functions from HEAD to the production branch for work.
Even without a large performance difference, this clean up is nice enough that I think it is worth doing regardless of the performance impact. This made flame graphs cleaner, which I liked. Also, any cleanup that reduces locking/atomics has been demonstrated to have the potential to improve NUMA performance on ZoL: https://github.com/zfsonlinux/zfs/issues/3752 NUMA scaling is a potential area of interest for me at work after I have worked out some of the larger bottlenecks affecting dedup and synchronous IO. This gives us a reduction in locking/atomics, which is nice. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/openzfs/openzfs/pull/403#issuecomment-308247011 ------------------------------------------ openzfs-developer Archives: https://openzfs.topicbox.com/groups/developer/discussions/Tb8c99eb91b584cfa-M40755a20c26257915a4df1c3 Powered by Topicbox: https://topicbox.com
