if_start running deferred for Giant

Robert Watson rwatson at FreeBSD.org
Sun Dec 30 09:11:17 PST 2007


On Sun, 30 Dec 2007, Tofig Suleymanov wrote:

> I am writing a driver for Kyocera USB modem for FreeBSD and there are a few 
> questions that I am not able to solve alone. I would be grateful if someone 
> could point me into the right direction.Here is the first one:
>
> Inside the USB_ATTACH() function I initialise the ifnet(9) structure and 
> return USB_ATTACH_SUCCESS_RETURN. Everything seems to be fine so far (I can 
> see the interface in ifconfig output) except the following error notice spit 
> to the console:
>
> xxxxxx kernel: ib0: if_start running deferred for Giant
>
> I am not sure what does this exactly mean.
>
> Any help would be appreciated.

This occurs when a network device driver has declared itself IFF_NEEDSGIANT -- 
that is, has declared that it requires the Giant lock in order to operate. 
As this is considered an undesirable state of affairs for a device driver, a 
warning is printed.  However, in the case of a USB device driver, it is 
currently required as the USB framework is not MPSAFE, so requires Giant.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the freebsd-net mailing list