> Date: Mon, 23 Oct 2017 20:15:24 +0200 > From: Jaromír Doleček <[email protected]> > > How difficult you gather it would be to convert the execargs to use 4K > pages rathern then continuous KVA, are there any particular gotchas? I > would be interested to look at this - it sounds like nice high-kernel only > project for me, to make a break from the ATA oddities.
Mostly I expect it to be a lot of bookkeeping. If I were doing it, I'd probably use struct uio or similar so that I can easily uiomove to incrementally set it up, and draw a page at a time from kmem_alloc or from a dedicated pool cache as necessary to expand it. (I expect using just a pool for pages at a time, rather than 256 KB at a time as we do now, would incur a lot of contention for long argument lists, like in builds.)
