tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: vnode_has_large_blocks() (vnd.c rev 1.255)



bouyer%antioche.eu.org@localhost (Manuel Bouyer) writes:

>I strongly dissagree. I have 512-byte-sectors domUs running for years on a
>dom0 with 64k blocks/8k fragements. This works ! I'm I'm probably not the
>only one, as this has been this way since we have dom0 support.
>It's very unlikely that others have requested a 512-byte fragments FFS
>for their domUs backing store.

Still it fails when the dom0 has disks with large sectors. So we need some
kind of check.

The (traditional) buffercache definitely cannot handle varying block sizes.
Fortunately this is not used by FFS, the UVM pager obviously handles only
complete pages. Maybe that makes it work accidentally.

The filesystem code however makes sure that filesystem I/O is done in
multiples of fragment sizes and VOP_BMAP/VOP_STRATEGY was originally
defined to work on filesystem fragments (and multiples). vnd shouldn't
do anything else.

>The performance penaltly of VOP_READ/VOP_WRITE is just inacceptable
>for a Xen setup.

I'm doing some benchmarks now (just for vnd, not xen yet). I can see
a penalty of about a factor of 2 for linear I/O, much less for random I/O.
-- 
-- 
                                Michael van Elst
Internet: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index