Re: [PATCH] Add a text_poke syscall v2

Linus Torvalds
2013-11-28T02:01:15Z

On Wed, Nov 27, 2013 at 3:28 PM, H. Peter Anvin <hpa@zytor.com> wrote:
>
> The timeout bit was an acknowledgment that some kind of batching
> interface is necessary.

That's just moronic. People would make up totally random timeouts, so
from an interface standpoint it's just horrid, horrid.

Giving user space random knobs that you don't understand yourself, and
the monkeys in user space are guaranteed to mis-use is just entirely
the wrong thing to do.

Much better to then just making the interface itself be about
batching, which isn't as hard as you make it out to be. Make it an
array of those addr/replace/len things. And we have that
"restart_block" for system calls, and we'd limit batching to some
random smallish number ("128 instructions, just because"), while still
being easily interruptible in between those blocks. That limits you to
two IPI's per 128 instructions replaced - and at that point even
*that* is just an internal kernel random tuning thing, not some insane
user interface.

But is such batching really even worth it? If' it's not *that* much
more effort, maybe it's worth it, but do we have known users that
really would have thousands and thousands of cases all at once?

Linus