On Wednesday, 6 June 2007 at 23:37:29 +0300, Nikolay Pavlov wrote: > On Wednesday, 6 June 2007 at 11:59:41 -0700, Julian Elischer wrote: > > Nikolay Pavlov wrote: > > >Here is the initial email about the "non-sleepable locks held" issue. > > >I have got it with my CDMA USB modem in mpd. > > [...] > > > > >Jun 6 17:03:09 orion kernel: Sleeping on "usbdly" with the following > > >non-sleepable locks held: > > >Jun 6 17:03:09 orion kernel: exclusive sleep mutex ng_tty node+queue r = > > >0 (0xc712b6a0) locked @ > > >/usr/src/sys/modules/netgraph/tty/../../../netgraph/ng_tt > > [...] > > > > >Jun 6 17:03:09 orion kernel: witness_warn(5,0,c0a2d773,c0a21ac6,0,...) at > > >witness_warn+0x1cd > > >Jun 6 17:03:09 orion kernel: _sleep(c0b36e14,0,0,c0a21ac6,3,...) at > > >_sleep+0x5f > > [...] > > > > >Jun 6 17:03:09 orion kernel: ttyflush(c4008800,3,c7142095,c71420bd,1,...) > > >at ttyflush+0x46 > > >Jun 6 17:03:09 orion kernel: > > >ngt_open(c5a36100,c4008800,368,367,c0b3d494,...) at ngt_open+0x16b > > >Jun 6 17:03:09 orion kernel: > > >ttioctl(c4008800,8004741b,c6732000,7,c4e23e00,...) at ttioctl+0xdf8 > > > > it looks as if the locking in ng_tty.c is less that well thought out. > > > > I am not an expert in the tty subsystem, but it is possible that the > > ttyflush call in ngt_open() might be moved out from under the NGTLOCK() > > call.. > > > > certainly you need to examine what is needed there. > > > > maybe a different way of serialising the flush is needed. > > > > I can't look at it now, but I think someone should be able to follow the > > code to see if ttyflush needs to be locked > > like that. > > Ok. Julian i'll submit a PR regarding this problem. >
http://www.freebsd.org/cgi/query-pr.cgi?pr=113432 Done. -- ====================================================================== - Best regards, Nikolay Pavlov. <<<----------------------------------- ====================================================================== _______________________________________________ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "[EMAIL PROTECTED]"