Subject: [Question] Kernel preemption of BH handler

From: Erik Hugne <[email-masked]>
Date: Mon, 26 Mar 2012 11:20:43 +0200

I have a BH handler that processes packets received from a netdevice.

my_bh_handler() {
   spin_lock_bh(my_lock);
   /*do stuff*/
   spin_unlock_bh(my_lock);
   /*do more stuff*/
}

First packet is received, and my_bh_handler() is currently processing it.
Now a new packet is received by the NIC and my_bh_handler() is preempted 
after my_lock have been released.

Is it possible that the second invocation of the BH routine is allowed 
to finish before the first?

//E