Nope, it's not required for osspd but it's a rather strong limitation on the interface which would be pretty difficult to work around later. Page protection tricks would be very cumbersome and unscalable. Hmmm, it does remove the necessity for allocating kernel pages, right? Still, it seems like a big limitation. Are you sure this is a good idea?
I'm sure its a good idea to provide an interface that does't _require_
server side mmaps. This doesn't preclude an mmap interface later on,
but I'd rather start with a "pure" read/write device interface, which
is in a lot of ways simpler to solve than mmap.
As for pinning kernel pages, I still think it's a good idea for the
char device interface, but you're right, it's not necessary.
In fact I'm mostly ready with an implementation of store/retrieve that
just pokes the regular page cache.
It doesn't preclude that but then again having two interfaces can be a
But I think if we can avoid using pinned kernel pages, pure r/w based
implementation could be different and useful enough, so yeah, great.