VKernel progress update - 8 Jan 2006 (milestone reached!)

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Wed Jan 10 06:00:11 PST 2007


Matthew Dillon wrote:
:how about using O_ASYNC and SIGIO for console and network, etc?
:
:we could build a device tree (starting with a nexus), where drivers could register filedescs as "interrupt" resources.  or something like that...
    It would work, but it wouldn't be fun.  Signals are very expensive.  Very
    very expensive.
    Kqueue or select for the network would work, the provisio being that 
    I would need to create some sort of mechanism to break out of an
    emulated user context based on a kqueue event occuring.  I don't think
    that would be too hard to do.
Okay, but I guess no other subsystem would benefit from this.  However, how do you manage to "break out"?  You'd have to have some kind of context switching, right?

    Second, we need some sort of 
    pseudo-DMA to handle the transfer... maybe a kernel thread.  We have
    the advantage that the transfers to and from the disk only occur
    from the virtual kernel's 'memory' (which itself is just a memory mapped
    file), so it would be fairly easy to write a real-kernel kernel thread
    to help out there.
I think that's called aio and is even in POSIX.  I think aio should be pursued further, just the implementation could need some polishing.

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: pgp00004.pgp
Type: application/octet-stream
Size: 252 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/kernel/attachments/20070110/fbfa3ebb/attachment-0016.obj>


More information about the Kernel mailing list