Bottom halves.

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Fri, 1 Oct 1999 15:35:31 +0200 (MEST)


Hi,

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/