VFS ROADMAP (and vfs01.patch stage 1 available for testing)

Matthew Dillon dillon at apollo.backplane.com
Fri Aug 13 09:55:15 PDT 2004


    Oh, I should add one more thing... remember the whole XIO bit, SFBUFs,
    and MSFBUFs?  It is my intention to eventually replace UIO's with XIO's
    in order to facilitate copies to and from a userspace that belongs to
    some other process.

    Another reason that the range locking has to be done by a kernel layer
    is simply that a single UIO can specify hundreds of megabytes worth
    of data space, but an XIO/MSFBUF (which stores lists of VM pages)
    cannot. 

    This means that large UIOs will have to be broken down into smaller XIO's.
    There is no performance penalty here, not with large enough XIO's, but
    it means that in order to retain atomicy guarentees the data space
    for the entire UIO must be locked for the duration of all the smaller
    XIO's that will occur.

    The second reason the range locking has to be done globally in a kernel
    layer is, of course, to give us hooks to implement a cluster-wide
    data space (and cache) coherency infrastructure.

							-Matt






More information about the Kernel mailing list