I think this guaranteed size should (for the sake of consistency) be the
same as the maximum allowed size of IPC data write, which currently is
64kB.

Yes, this sounds reasonable.

Coincidentally, 64 KiB is also a common pipe buffer size in other systems (current default on Linux with 4 KiB pages, upper bound on Mac OS X, etc.).

The only problem I see is that for the usual case, every pipe would have
almost 64kB of unused buffer space.

The physical buffer size can grow and shrink as needed. You can track the reads and writes without having the buffer preallocated to its full size.

Currently condvar implementation does guarantee FIFO ordering, but I am
not sure how sane it is to assume this won't change.

Well, if the fairness of the pipe depends on the fairness of the condvar, it is an extra-functional property that can be at least captured in the documentation.

And perhaps checked by some formal verification tool in the future.


M.D.

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to