[LTP] [PATCH v3 1/2] splice02: Generate input in C

Cyril Hrubis chrubis@suse.cz
Fri Apr 16 14:32:40 CEST 2021


Hi!
> > LGTM, going to merge it with these changes (+ cleanup to_write)
> > and your Reviewed-by: tags.
> > Thanks a lot!
> 
> Maybe one more change: INT_MAX is a bit too much, it timeouts.
> I'll use 262144 as max allowed -n (the default on intel - 2x max pipe size).

I guess that the main problem here is that we write one character at a
time, which means that we spend most of the time in syscall handler code
rather than copying the data. It may work much better if we change the
code to write 512 bytes at a time. I.e. something as:

	#define BUFSIZE 512

	char buf[BUFSIZE];

	memset(buf, 'a', BUFSIZE);

	while (to_write > 0) {
		size_t size = to_write > BUFSIZE ? BUFSIZE : to_write;

		...

		to_write -= written;
	}

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list