Well that's pretty bad, isn't it?
Some things which it would be interesting to try out:
- Disable CONFIG_HIGHMEM in your kernel config, see
what that does.
- Try linux-2.4.13 -- 2.4.10 was a bit of a dog (this may make
a difference if the driver uese the new PCI DMA API,
but it doesn't explain why 2.2.x does so much better).
- Profile the kernel. You may enable profiling by booting
the kernel with the LILO option `profile=1'.
Then, making sure that /boot/System.map reflects the
running kernel, run this little script
#!/bin/sh
TIMEFILE=/tmp/$(basename $1).time
sudo readprofile -r
time "$@"
readprofile -v -m /boot/System.map | sort -n +2 | tail -40 | tee $TIMEFILE
echo created $TIMEFILE
With something like:
~/kern-prof.sh cp some_huge_file /dev/null
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/