![]() | |||||||||||||
Messages in this thread |
> >Hello Justin, hello Gerard > > > >I am looking currently for reasons for bad behaviour of aic7xxx driver > >in an shared interrupt setup and general not-nice behaviour of the > >driver regarding multi-tasking environment. > > Can you be more specific? Yes, of course :-) What I am seeing over here is that aic7xxx is _significantly_ slower than symbios _in the exact same context_. I refused to use the "new" driver as long as possible because I had (right from the first test) the "feeling" that it hurts the machine overall performance in some way, meaning the box seems _slow_ and less responsive than it was with the old aic driver. When I directly compared it with symbios (LSI Logic hardware sold from Tekram) I additionaly found out, that it seems to hurt the interrupt performance of a network card sharing its interrupt with the aic which again does not happen with symbios. I have already seen such behaviour before, on merely every driver I formerly wrote for shared interrupt systems I had to fill in code that _prevents_ lockout of other interrupt users due to indefinitely walking through the own code in high load situation. But, of course, you _know_ this. Nobody writes a driver like new aic7xxx _and_ doesn't know :-) My guess is that this knowledge made you enter the comment I ripped from your code about using bottom half handler instead of dealing with workload in a hardware interrupt. Again, I have to no extent read your code completely or the like. I simply tried to find the hardware interrupt routine and look if it does significant eli (EverLasting Interrupt ;-) stuff - and I found your comment. Can you re-comment from todays point of view? > >This is nice. I cannot read the complete code around it (it is derived > >from aic7xxx_linux.c) but if I understand the naming and comments > >correct, some workload is done inside the hardware interrupt (which > >shouldn't), which would very much match my tests showing bad overall > >performance behaviour. Obviously this code is old (read the comment) > >and needs reworking. > >Comments? > > I won't comment on whether deferring this work until outside of > an interrupt context would help your "problem" until I understand > what you are complaining about. 8-) In a nutshell: a) long lasting interrupt workloads prevent normal process activity (creating latency and sticky behaviour) b) long lasting interrupt workloads play bad on other interrupt users (e.g. on the same shared interrupt) I can see _both_ comparing aic with symbios. Regards, Stephan - 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/ | ||||||||||||
| Last update: 2005-03-22 13:18 [W:0.393 / U:0.360 seconds] ©2003-2008 Jasper Spaans | |||||||||||||