I am not an expert on Linux kernel but here is what my hacking wisdom says. mark_bh marks the bottom half of some hardware interrupts. An example would be timer interrupt which comes 100 times a second. Generally what happens is that you do minimum stuff in actual handler and call mark_bh() which takes care of updating lots of time related system stuff. The reason why this is the preferred way to do things is because you want to have actual interrupt handler as small as possible so as to avoid losing further interrupts. Look at the code in do_timer. It may help. -pkd |