Some of you may remember that I'm working on why I'm loosing
characters on an UART with a 128 byte recieve buffer. I've found the
problem: My IDE disk blocks interrupts for a respectable time, and the
receive fifo trigger level was set close to the "limit". It now
happens acceptably infrequent, and if I unmask IRQs for my harddisk,
it no longer happens.
While investigating I found that do_bottom_halves is one of the places
where interrupts have to wait a long time.
The comment at the top states:
* do_bottom_half() runs at normal kernel priority: all interrupts
* enabled. do_bottom_half() is atomic with respect to itself: a
* bottom_half handler need not be re-entrant.
But then the code does:
__sti();
run_bottom_halves();
__cli();
Have the comments grown outdated with respect to the actual code?
Roger.
-- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 ** *-- BitWizard writes Linux device drivers for any device you may have! --* ------ Microsoft SELLS you Windows, Linux GIVES you the whole house ------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/