[GIANT-LOCKED] even without D_NEEDGIANT

2013-01-18 Thread Jimmy Olgeni


Hello list,

At $DAILY_JOB I got involved with an ASI board that didn't have any 
kind of FreeBSD support, so I ended up writing a driver for it.


If you try to ignore the blatant style(9) violations (of which there 
are many, hopefully on the way to be cleaned up) it seems to work fine.


However, I noticed that when loading the driver I always get a
message about the giant lock being used, even if D_NEEDGIANT is not
specified anywhere.

The actual output when loading is this (FreeBSD 9-STABLE i386):

dektec0: DekTec DTA-145 mem 0xfeaff800-0xfeaf irq 16 at device 13.0 on 
pci0
dektec0: [GIANT-LOCKED]
dektec0: [ITHREAD]
dektec0: board model 145, firmware version 2 (tx: 0, rx: 2), tx fifo 16384 MB

Source code here:

  https://github.com/olgeni/freebsd-dektec/blob/master/dektec.c

Can anybody offer a clue about what could be triggering the GIANT
requirement? Could I be doing something that has this, and possibly
other, unintended side effects?

--
jimmy
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: [GIANT-LOCKED] even without D_NEEDGIANT

2013-01-18 Thread Andriy Gapon
on 18/01/2013 13:39 Jimmy Olgeni said the following:
 
 Hello list,
 
 At $DAILY_JOB I got involved with an ASI board that didn't have any kind of
 FreeBSD support, so I ended up writing a driver for it.
 
 If you try to ignore the blatant style(9) violations (of which there are many,
 hopefully on the way to be cleaned up) it seems to work fine.
 
 However, I noticed that when loading the driver I always get a
 message about the giant lock being used, even if D_NEEDGIANT is not
 specified anywhere.
 
 The actual output when loading is this (FreeBSD 9-STABLE i386):
 
 dektec0: DekTec DTA-145 mem 0xfeaff800-0xfeaf irq 16 at device 13.0 on 
 pci0
 dektec0: [GIANT-LOCKED]
 dektec0: [ITHREAD]
 dektec0: board model 145, firmware version 2 (tx: 0, rx: 2), tx fifo 16384 MB
 
 Source code here:
 
   https://github.com/olgeni/freebsd-dektec/blob/master/dektec.c
 
 Can anybody offer a clue about what could be triggering the GIANT
 requirement? Could I be doing something that has this, and possibly
 other, unintended side effects?
 

See INTR_MPSAFE in bus_setup_intr(9).

-- 
Andriy Gapon
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: [GIANT-LOCKED] even without D_NEEDGIANT

2013-01-18 Thread Jimmy Olgeni


On Fri, 18 Jan 2013, Andriy Gapon wrote:


See INTR_MPSAFE in bus_setup_intr(9).


Thanks! It went away. Back to testing...

--
jimmy
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org