Fajun Chen wrote: > I use sg/libata and ata pass through for read/writes. Linux 2.6.18-rc2 > and libata version 2.00 are loaded on ARM XScale board. Under heavy > cpu load (e.g. when blocks per transfer/sector count is set to 1), > I've observed that the test application can suck cpu away for long > time (more than 20 seconds) and other processes including high > priority shell can not get the time slice to run. What's interesting > is that if the application is under heavy IO load (e.g. when blocks > per transfer/sector count is set to 256), the problem goes away. I > also tested with open source code sg_utils and got the same result, so > this is not a problem specific to my user-space application. > > Since user preemption is checked when the kernel is about to return to > user-space from a system call, process scheduler should be invoked > after each system call. Something seems to be broken here. I found a > similar issue below: > http://marc.info/?l=linux-arm-kernel&m=103121214521819&w=2 > But that turns out to be an issue with MTD/JFFS2 drivers, which are > not used in my system. > > Has anyone experienced similar issues with sg/libata? Any information > would be greatly appreciated. That's one weird story. Does kernel say anything during that 20 seconds? -- tejun - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html