Both of these are basically horrible mistakes.
The first one will almost certainly break things that get clever, like
strace, and just make things really hard to debug.
The second one means that you are guaranteed to be basically twice as slow
on any fast system call, since the system call overhead itself is usually
quite a noticeable cost, often dominating everything else.
The batching has serious problems, not the least of which is that it's a
fundamentally more complex interface, and introduces issues like "how do
we pass values from one system call to the next".
That's why I shot it down for syslets too.
Linus
-