David Xu wrote:
Mark Kirkwood wrote:
I recently did some testing on the performance of cached reads using two (almost identical) systems, one running FreeBSD 6.2PRE and the other running Gentoo Linux - the latter acting as a control. I initially started a thread of the same name on -stable, but it was suggested I submit a mail here.

My background for wanting to examine this is that I work with developing database software (postgres internals related) and cached read performance is pretty important - since we typically try hard to encourage cached access whenever possible.

Anyway on to the results: I used the attached program to read a cached 781MB file sequentially and randomly with a specified block size (see below). The conclusion I came to was that our (i.e FreeBSD) cached read performance (particularly for smaller block sizes) could perhaps be improved... now I'm happy to help in any way - the machine I've got running STABLE can be upgraded to CURRENT in order to try out patches (or in fact to see if CURRENT is faster at this already!)...

Best wishes

Mark


I suspect in such a test, memory copying speed will be a key factor,
I don't have number to back up my idea, but I think Linux has lots
of tweaks, such as using MMX instruction to copy data.

Regards,
David Xu


David - very interesting - checking 2.6.18 sources I see:

arch/i386/lib/memcpy.c:7->

void *memcpy(void *to, const void *from, size_t n)
{
#ifdef CONFIG_X86_USE_3DNOW
    return __memcpy3d(to, from, n);
#else
    return __memcpy(to, from, n);
#endif
}


If I understand this correctly, I need CONFIG_X86_USE_3DNOW (or perhaps CONFIG_M586MMX) set in my Linux kernel config to be using these.... which I don't appear to have (I'll do some more digging and see if maybe profiling tells us anything useful).

Cheers

Mark

_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to