Unmapped buffers: to be merged in several days
Lev Serebryakov
lev at serebryakov.spb.ru
Mon Mar 11 21:22:54 UTC 2013
Hello, Konstantin.
You wrote 12 марта 2013 г., 1:11:58:
>> KB> If the class does need to access the bio data, to be marked
>> KB> unmapped-processing, the class should be rewritten. Now, the class
>> KB> should verify is the bio passed is mapped or not, and process the pages
>> KB> passed in the bio_ma array instead of bio_data. The involved example is
>> KB> sys/dev/md/md.c.
>> Will GEOM class, which needs to touch data (like raid3 or my off-tree
>> raid5), benefit from conversion, compare to generic mechanism,
>> provided for not-converted by your patch?
KB> First, what do you mean by 'benefit'. Answer would obviously depend
KB> on the criteria.
When you did this work (unmapped buffers) you had some meaning of
`benefit' for whole system (FreeBSD) in mind, do you? I don't think,
you do such complex work to do things worse, not better :) As far as I
understand, this code significantly decrease TLB shoot-out for
disk-intensive tasks in mult-core/CPU systems (and that leads to
better I/O and overall system performance), at cost of more complex
code in some places. Am I right?
So, my question could be re-formulated in this framework like this:
could be custom code in GEOM class (but such, that provide access to
every data byte in every BIO) less stressful for system / faster than
generic code, provided by you in GEOM framework for old classes?
KB> Second, I do not think that any wizard can usefully answer this question,
KB> for usual criteria like speed or code maintanability.
But you have answer for YOUR code, right? You could predict behavior
of "generic" code for GEOMs without proper flag (you've wrote this
code, after all!) and "reasonable" code, which should be written by
GEOM class author for GEOM class, which need touch every byte in BIO
buffer. I don't think, here is many variants of such code exists, am
I right?
KB> FWIW, I tried to get an Intel documentation for IOAT engine which should
KB> allow to perform the XOR checksumming of the unmapped buffers, suitable
KB> for e.g. hardware-assisted software raid5, but did not succeeded.
:-(
--
// Black Lion AKA Lev Serebryakov <lev at serebryakov.spb.ru>
More information about the freebsd-arch
mailing list