Re: XFS filesystem performance drop in kernels 2.6.16+

From: Jan Engelhardt
Date: Sat Nov 11 2006 - 05:57:56 EST



>> for (i = 0; i < 262144; i++) {
>> /* Write data to a big file */
>> write (nFiles [0], buf, __BYTES);
>>
>> /* Write data to small files */
>> for (f = 1; f < __FILES; f++)
>> write (nFiles [f], &f, sizeof (f));
>> }
>
>This sits in a loop doing write(fd, buf, 4). This is wildly inefficient -
>you'd get a 10x throughput benefit and maybe 100x reduction in CPU cost
>simply by switching to fwrite().

Well yes and no. The problem here is the syscall overhead. fwrite
buffers things, so needless syscalls are avoided.
The same could be done by changing the program logic and increasing the
size argument to read/write.

>I suspect something went wrong here.

Design error. :)


-`J'
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/