[GSoC] UEFI framebuffer task

Philipp Kerling pkerling at ...483...
Fri Mar 24 09:47:30 CET 2017


2017-03-21 (火) の 10:49 +0100 に Sebastian Sumpf さんは書きました:
> > Do you have any specific feature
> > requests besides simple read/write? 
> Read/write with native command queuing support would suffice.
NCQ isn't directly applicable to NVMe, at least not in the SATA sense.
NVMe has mandatory support for 65535 distinct submission queues into
which you can each put 65536 commands that are executed in no
particular order (i.e.  possibly in parallel and as the controller sees
fit, similarly to NCQ).
For Genode, using one queue would probably be sufficient.
This does mean that the NVMe driver has to make sure that if you e.g.
get a write and then a read of the same address queued from an
application, the read would have to be postponed until the write is
completed since the NVMe controller does not guarantee in-order
execution. Now that I think about it though, this also applies to SATA
NCQ and is what I guess Ata_driver::overlap_check() is for in the AHCI

> If the above is working, it would be interesting to investigate if
> there
> are features Genode could benefit from and maybe implement some.
> Additionally power management is always a topic.
Ok thanks, noted. Does Genode have support for ACPI device power state
switching, particularly Runtime D3?
NVMe also supports elaborate PM, some of which (e.g. automatic PM)
could easily be integrated. The more involved stuff depends a lot on
knowing the workload and requirements of the system (i.e. burstiness,
priority of latency or throughput, ...), but that could be made into
parameters provided to the driver.


More information about the users mailing list