vinum start config disk thrashing

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Sat Jul 8 17:57:55 PDT 2006


Hey,

I noticed that a "start" in vinum results in quite heavy disk thrasing here.  I found out why:

- start results in a "read /dev/ad0 /dev/ad4"
- read tries all slices and partitions therein
- each try opens the partition
- each opening of a partition results in the kernel re-scanning all slice tables and disklabels
so this means for each of my ntfs slices and for my bsd partitions the kernel will read all slice tables (including extended slices) and all disklabels, which is quite a lot.

why don't we cache this information until it is invalidated or something?  how would we do that?  I found this comment in kern/subr_diskslice.c:dsopen():

       /* 
        * XXX reinitialize the slice table unless there is an open device
        * on the unit.  This should only be done if the media has changed.
        */

and that's obviously the problem.

ideas?

cheers
 simon
--
Serve - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /"\
Work - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \ /
Party Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \
Attachment:
signature.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00003.pgp
Type: application/octet-stream
Size: 252 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/kernel/attachments/20060708/05e7333e/attachment-0017.obj>


More information about the Kernel mailing list