ether_input question

Aniruddha Bohra bohra at cs.rutgers.edu
Fri Mar 16 13:17:50 UTC 2007


Hi,
 In two drivers, fxp and em, the assumptions about entering the 
ether_input routine are different.
 From em_rxeof:

#ifdef DEVICE_POLLING
 EM_UNLOCK()
(*ifp->if_input)()
EM_UNLOCK()
#else
  (*ifp->if_input)()
#endif

While in fxp:

FXP_UNLOCK()
(*ifp->if_input)()
FXP_LOCK()


My question is :
Does ether_input() assume it is the only thread executing the code? If 
it is the case, what is the
reason for dropping the lock in the DEVICE_POLLING case?

Thanks
Aniruddha



More information about the freebsd-net mailing list