DragonFly kernel List (threaded) for 2007-01
DragonFly BSD
DragonFly kernel List (threaded) for 2007-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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

From: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>
Date: Wed, 10 Jan 2007 14:47:02 +0100

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.


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
Description: OpenPGP digital signature

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