From owner-cvs-src@FreeBSD.ORG Tue Jul 20 22:42:47 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CC98916A4CE; Tue, 20 Jul 2004 22:42:47 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7CE2A43D46; Tue, 20 Jul 2004 22:42:47 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.11/8.12.11) with ESMTP id i6KMgCo4011363; Tue, 20 Jul 2004 18:42:12 -0400 (EDT) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i6KMgClZ011360; Tue, 20 Jul 2004 18:42:12 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Tue, 20 Jul 2004 18:42:12 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Alfred Perlstein In-Reply-To: <20040720223019.GM95729@elvis.mu.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/netinet raw_ip.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2004 22:42:48 -0000 On Tue, 20 Jul 2004, Alfred Perlstein wrote: > * Robert Watson [040720 13:52] wrote: > > rwatson 2004-07-20 20:52:30 UTC > > > > FreeBSD src repository > > > > Modified files: > > sys/netinet raw_ip.c > > Log: > > M_PREPEND() the IP header on to the front of an outgoing raw IP packet > > using M_DONTWAIT rather than M_WAITOK to avoid sleeping on memory > > while holding a mutex. > > Isn't there a call we can add to mget/malloc/zalloc to do this: > > if (flags & _WAIT) > ask_witness_if_we_can_sleep > > deferring to the actual tsleep call will never catch as many. > > If you don't have the time, I may be able to get to this tonight. In my previous e-mail, I think I misunderstood your question. The answer to your question is Yes, but I think that you can also look at adding one to M_PREPEND() since it won't always call into m_prepend(). Sorry for the confusion! Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research