svn commit: r254846 - projects/camlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Andre Oppermann andre at freebsd.org
Sun Aug 25 12:26:37 UTC 2013


On 25.08.2013 14:12, Alexander Motin wrote:
> On 25.08.2013 14:21, Alexander Motin wrote:
>> Author: mav
>> Date: Sun Aug 25 11:21:10 2013
>> New Revision: 254846
>> URL: http://svnweb.freebsd.org/changeset/base/254846
>>
>> Log:
>>    Allow GEOM direct dispatch for zvol providers.  Skip request handover to
>>    the worker thread if current context allows sleeping (thanks to the direct
>>    dispatch in action we are not in GEOM thread).
>>
>>    Together this doubles zvol performance, reaching up to 300K IOPS on my tests.
>>    If there would be unmapped I/O support for zvols, the above value could be
>>    even bigger.
>
> I heavily underestimated effect of this change for the case of uncached reads and probably
> synchronous writes. Due to synchronous nature of the code, parallel execution introduced by this
> change can increase performance by much more then mentioned two times. With 8-64 threads doing
> uncached random read this change gives 6-10x performance!

Any chance for this to make it into HEAD before API freeze?

> Now I am very curios why zvol was made to have only one worker thread per zvol, while multiple
> threads there could give major improvement even without direct dispatch.

-- 
Andre



More information about the svn-src-projects mailing list