Grant Edwards wrote: >On 2006-01-14, Jay Foster wrote: > > > >>I still think that FIFO queuing of the DSRs is better than >>LIFO queuing, because in the absence of any DSR priority >>information, the best that can be done is temporal priority >>(ie FIFO). >> >> > >That happens to work for your application, but I don't see how >you can say that FIFO is best in the general case. > > hmm...i think jay has a point here: we are apparently loosing temporal ordering --- so even if a system would be capable of handling the load if the DSRs were executed in the order the associated ISRs occurred, with the current LIFO implementation it fails --- as demonstrated by jay. > > >>This prevents the case (that I'm seeing) where a lower >>priority ISR's DSR preempts a higher priority ISR's DSR (the >>priority is lost in the LIFO DSR queue). >> >> > >I still maintain that your application is either broken or you >don't have enough CPU. If one interrupts source requires so >much DSR time that others can't run, then there is simply >something wrong. You seem to prefer a tx underrun error to an >rx overrun error. I guarantee you're going to get one or the >other. On the systems I work on, either is equally fatal, so >it is not the case that FIFO is better than LIFO. Both work >equally well. > > hmm...apparently jay is seeing neither of your predicted results since he switched to FIFO... -- Dr Dirk Husemann, Pervasive Computing, IBM Research, Zurich Research Lab hud@zurich.ibm.com --- http://www.zurich.ibm.com/~hud/ PGP key: http://www.zurich.ibm.com/~hud/contact/PGP PGP Fingerprint: 983C 48E7 0A78 A313 401C C4AD 3C0A 278E 6431 A149 Email only authentic if signed with PGP key. Appended to this email is an electronic signature attachment. You can ignore it if your email program does not know how to verify such a signature. If you'd like to learn more about this topic, www.gnupg.org is a good starting point.