From owner-freebsd-current Sun Mar 2 12:49:39 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 37EAE37B401 for ; Sun, 2 Mar 2003 12:49:38 -0800 (PST) Received: from scl8owa02.int.exodus.net (scl8out02.exodus.net [66.35.230.242]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACD0643F93 for ; Sun, 2 Mar 2003 12:49:37 -0800 (PST) (envelope-from Maksim.Yevmenkin@cw.com) Received: from SJDCEX01.int.exodus.net ([165.193.27.80]) by scl8owa02.int.exodus.net with Microsoft SMTPSVC(5.0.2195.5329); Sun, 2 Mar 2003 12:49:37 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0 Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Subject: RE: PATCH: typo in socreate() or i'm missing something Date: Sun, 2 Mar 2003 12:49:36 -0800 Message-ID: <45258A4365C6B24A9832BFE224837D552B1297@sjdcex01.int.exodus.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: PATCH: typo in socreate() or i'm missing something thread-index: AcLg+Aq7j6saeiVvQ+SW8krDoSgJsAAA+Xua From: "Maksim Yevmenkin" To: "Garrett Wollman" , "Bruce Evans" Cc: X-OriginalArrivalTime: 02 Mar 2003 20:49:37.0519 (UTC) FILETIME=[3D09B7F0:01C2E0FD] Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Dear Hackers, < = said: > > Interestingly, socreate() in Lite2 always does a can-wait malloc() = so > > our current soalloc(M_NOWAIT) does the same thing as Lite2 and is = only > > wrong if the FreeBSD change from can-wait to "can-wait-if p !=3D 0" > > change was needed and is still needed. >=20 > When I initially revamped that code, I waited unconditionally and was > rewarded with an appropriate panic for sleeping in interrupt context. > I cannot speak as to whether it is still needed. well, what is the best way to proceed here? as far as i can see there are three options here: 1) leave it as it is for now 2) change it to so =3D soalloc(0); (i.e. never sleep) 3) revert it back to rotted so =3D soalloc(td !=3D 0); in this case=20 people like me will call socreate() with td =3D=3D 0, and other will call socreate() with real td pointer or curthread.=20 i personally do not like option 1) at all. are there any other options? suggestions? thanks, max To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message