From owner-freebsd-geom@FreeBSD.ORG Tue Sep 12 19:39:42 2006 Return-Path: X-Original-To: freebsd-geom@freebsd.org Delivered-To: freebsd-geom@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5541E16A607 for ; Tue, 12 Sep 2006 19:39:42 +0000 (UTC) (envelope-from lulf@stud.ntnu.no) Received: from fri.itea.ntnu.no (fri.itea.ntnu.no [129.241.7.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA5B643D55 for ; Tue, 12 Sep 2006 19:39:41 +0000 (GMT) (envelope-from lulf@stud.ntnu.no) Received: from localhost (localhost [127.0.0.1]) by fri.itea.ntnu.no (Postfix) with ESMTP id 90F8C7F65 for ; Tue, 12 Sep 2006 21:39:40 +0200 (CEST) Received: from gaupe.stud.ntnu.no (gaupe.stud.ntnu.no [129.241.56.184]) by fri.itea.ntnu.no (Postfix) with ESMTP for ; Tue, 12 Sep 2006 21:39:40 +0200 (CEST) Received: by gaupe.stud.ntnu.no (Postfix, from userid 2312) id 936CFCFF19; Tue, 12 Sep 2006 21:39:43 +0200 (CEST) Resent-From: lulf@stud.ntnu.no Resent-Date: Tue, 12 Sep 2006 21:39:43 +0200 Resent-Message-ID: <20060912193943.GA466@stud.ntnu.no> Resent-To: freebsd-geom@freebsd.org Date: Tue, 12 Sep 2006 21:38:17 +0200 From: Ulf Lilleengen To: "R. B. Riddick" Message-ID: <20060912193816.GA32402@stud.ntnu.no> References: <20060912191744.GA28858@stud.ntnu.no> <20060912193225.75860.qmail@web30310.mail.mud.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060912193225.75860.qmail@web30310.mail.mud.yahoo.com> User-Agent: Mutt/1.5.9i X-Content-Scanned: with sophos and spamassassin at mailgw.ntnu.no. Cc: Subject: Re: gvinum raid5 in production X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Sep 2006 19:39:42 -0000 On tir, sep 12, 2006 at 12:32:25 -0700, R. B. Riddick wrote: > --- Ulf Lilleengen wrote: > > > As far as I understood GEOM it does not like to sleep in g_up or g_down > > > threads... So we cannot use M_WAITOK in gv_down()... > > What do you mean gv_down()? Gvinum does not use g_up or g_down as far as i > > can tell? > > > Ohoh... Tubby "typo"... > > "gv_down" is wrong... I meant "gv_drive_done()" > > As far as I understood GEOM it work as follows: > 1. A geom class provides a drive and several functions, that r needed to > operate that drive... > 2. Thread g_down hands down a new read/write/... request to an instance of a > geom class by using those functions (often called: ..._start()) > 3. Thread g_up hands up a completed/aborted request to the caller (a geom or > so) by using those functions (often called: ..._done()) Have a look at the CURRENT branch instead. It uses a worker queue. In RELENG_6 i can see that it used g_malloc. -- Ulf Lilleengen