Attention is currently required from: Lance Zhao, Raul Rangel, Patrick Georgi, Martin Roth, Tim Wawrzynczak. Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/59504 )
Change subject: acpi,Makefile: Add preload_acpi_dsdt ......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
I agree we can look into other solutions, but can we keep it simple for now?
I'm not saying any of this should be done immediately or block this patch, I'm just trying to discuss where we'd like to see this go eventually. That doesn't mean you have to do it.
We would need to devise a way to make the `delegator` boot device get handles to the `platform` boot devices.
Oh, I was thinking about attaching at a higher level actually. If you want error handling you can't just use rdev_writeat(), you'd need to replace those calls (in the elog code and wherever) with some new API like rdev_deferred_write(&rdev, buffer, offset, size, DEFERRED_ERROR_IGNORE) which then hooks it into a queue where the thread comes by to pick it up and do the actual rdev_write() at some later point. That would require rewriting all drivers we worry about interfering to use these APIs, of course (and if prefetching is disabled those calls would just decay into direct rdev_writeat() calls).
Our threads aren't that cheap (memory-wise), that's why I'd suggest combining this with the prefetch task. Can't write and read at the same time anyway, and whether you step through one or two queues doesn't make much of a difference.