From owner-freebsd-hackers Thu Mar 23 23:34:32 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from lodge.guild.ab.ca (lodge.guild.ab.ca [209.91.118.66]) by hub.freebsd.org (Postfix) with ESMTP id 670DB37B815 for ; Thu, 23 Mar 2000 23:34:26 -0800 (PST) (envelope-from davidc@acns.ab.ca) Received: from localhost (davidc@localhost) by lodge.guild.ab.ca (8.9.3/8.9.3) with ESMTP id AAA13075; Fri, 24 Mar 2000 00:41:37 -0700 (MST) (envelope-from davidc@acns.ab.ca) Date: Fri, 24 Mar 2000 00:41:36 -0700 (MST) From: Chad David X-Sender: davidc@lodge.guild.ab.ca To: Matthew Dillon Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: vm_await() In-Reply-To: <200003240727.XAA08899@apollo.backplane.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I didn't mean the wait (ident) address, but instead the wmesg address, which is placed in p->p_wmesg, and I think later read by things like top... or am I being obtuse :). Chad On Thu, 23 Mar 2000, Matthew Dillon wrote: > :In vm_await(), asleep() is called with "vmwait", and then > :vm_await() just returns. What then happens to the memory at > :"vmwait" that was passed to asleep()? > : > :Am I missing something, other than vm_await is never called > :so it doesn't really matter? > : > :Also, with a quick find, it looks like atapi_queue_cmd() does the > :same thing in atapi-all.c, but I might be missing something here. > : > :Chad > > The memory at the 'wait' address you tsleep and wakeup on is > never actually accessed, the address is simply used as a > placemarker in the hash table. So it's ok to asleep() on an > address and then never use it, and it's ok if the object > represented by the address is ripped out from under you in > that case. > > -Matt > Matthew Dillon > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message