2020-07-08 15:35:47

by René Rebe

[permalink] [raw]
Subject: Vectored syscalls Was: [PATCH 0/3] readfile(2): a new syscall to make open/read/close faster

Hey there,

maybe instead of this rather specific, niche readfile syscall, would it not be beneficial
to allow issuing any group or bundle of several arbitrary system calls so this could also
be used to speed up other, more demanding high performance applications that need
a bit more than just readfile()?

An iImplementation could use some SYSCALLV syscall taking some io_uring like
structure with a list of flags, syscalls and arguments, so that this case could be submitted
as something like (illustration purposes only):

{
{ABORT_ON_ERROR, OPEN, …},
{RET_TO_ARG1, READ, …},
{0, CLOSE, …},
}

I hope that sounds useful,
René Rebe

--
ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin, https://exactcode.com
https://exactscan.com | https://ocrkit.com | https://t2sde.org | https://rene.rebe.de


2020-07-08 15:40:28

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: Vectored syscalls Was: [PATCH 0/3] readfile(2): a new syscall to make open/read/close faster

On Wed, Jul 08, 2020 at 05:16:41PM +0200, Ren? Rebe wrote:
> Hey there,
>
> maybe instead of this rather specific, niche readfile syscall, would it not be beneficial
> to allow issuing any group or bundle of several arbitrary system calls so this could also
> be used to speed up other, more demanding high performance applications that need
> a bit more than just readfile()?

Why not just use io_uring for that for I/O calls, that's what it is
designed for.

More "generic" syscall batching always ends up falling down in
complexity anytime anyone tries it. Good luck!

greg k-h

2020-07-08 15:46:56

by René Rebe

[permalink] [raw]
Subject: Re: Vectored syscalls Was: [PATCH 0/3] readfile(2): a new syscall to make open/read/close faster

Hey,

> On 8. Jul 2020, at 17:38, Greg Kroah-Hartman <[email protected]> wrote:
>
> On Wed, Jul 08, 2020 at 05:16:41PM +0200, René Rebe wrote:
>> Hey there,
>>
>> maybe instead of this rather specific, niche readfile syscall, would it not be beneficial
>> to allow issuing any group or bundle of several arbitrary system calls so this could also
>> be used to speed up other, more demanding high performance applications that need
>> a bit more than just readfile()?
>
> Why not just use io_uring for that for I/O calls, that's what it is
> designed for.

Sure, but last time I check you can’t queue open, read, close like this ;-)

> More "generic" syscall batching always ends up falling down in
> complexity anytime anyone tries it. Good luck!


Well, given latest hardware security vulnerabilities it looks more useful
for real world applications than the very special case of just readfile(2) for
small to medium sized files, … any maybe more worth the effort of a new
system call.

René

--
ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin, https://exactcode.com
https://exactscan.com | https://ocrkit.com | https://t2sde.org | https://rene.rebe.de