James Foris wrote:
I have run into an issue with memory bandwidth using the Fedora Core 2 kernels and I need help. I don't know what is wrong, but something killed performance of my custom driver when I ported it from RedHat 7.3 to Fedora Core 2. I believe I have narrowed it down to the kernel.
My driver requires a large amount of contiguous physical memory for DMA from a PCI device. I use the 'mem=YYY' command line parameter to reserve the top of physical RAM for my driver. Then I allow mapping via mmap() calls to user space. The user space app then uses this pointer to save the data to disk.
<snip>
I have tried this on several platforms and kernels and the results vary, but the common denominator seems to be:
Fedora kernel + 32-bit Intel = poor performance (see below)
So this *isn't* a problem with Linus' 2.6 kernels from kernel.org?
Wild guess: have you tried turning off the 4G+4G support in the kernel (requires a recompile)?
I have rebuilt now w/o several patches; 4Kstacks, netdump, and 4g/4g.
The problem has gone away. I suspect that 4G/4G is broken.
(The reason for removing 4Kstacks was because of reports that some file system code has corner cases that exceed 4K, and we have enough custom driver work that 8K stacks are a cheap insurance policy. The "netdump" patches went away because it was easier to do that than resolve the dependency issues due to the removal of the the other 2 patches.)
Thanks,
Jim Foris
HTH,
James.