From owner-freebsd-arch Mon Feb 18 19:20:13 2002 Delivered-To: freebsd-arch@freebsd.org Received: from rwcrmhc53.attbi.com (rwcrmhc53.attbi.com [204.127.198.39]) by hub.freebsd.org (Postfix) with ESMTP id 8092837B404 for ; Mon, 18 Feb 2002 19:20:09 -0800 (PST) Received: from InterJet.elischer.org ([12.232.206.8]) by rwcrmhc53.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020219032009.SMYU2951.rwcrmhc53.attbi.com@InterJet.elischer.org>; Tue, 19 Feb 2002 03:20:09 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id TAA54590; Mon, 18 Feb 2002 19:02:26 -0800 (PST) Date: Mon, 18 Feb 2002 19:02:24 -0800 (PST) From: Julian Elischer To: Jeff Roberson Cc: arch@freebsd.org Subject: Re: Prioritized bio patches. In-Reply-To: <20020218214128.C12686-100000@mail.chesapeake.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG this is kind of cool Can you give any figures showing realtive effects on (say) buildworld time when there is NICE work also on the system? (I guess you must have doen it for a reason, so maybe you can give us some examples of the result) regards, julian On Mon, 18 Feb 2002, Jeff Roberson wrote: > I have developed an extension to the bio queue interface to support > priorities. It may be useful in place of the nice value related sleep > that is currently in bioqdisksort. There are 6 queues in each bio queue > head. The first is the default sorted queue. It is used if the bio > priority (bio_prio) is BIO_PRIO_DEFAULT. Then there are 5 unsorted queues > for use with different nice levels. > > The priority is automatically picked at insert time based on the process > nice value. Un-nice processes still use the default IO queue to prevent > starvation. The lower priority IO is not sorted because it may be > interrupted at any time by higher priority io, thus defeating the sort. > This also saves a bit of structure bloat and processing time. > > The main advantage over the current solution is that, if the system has > spare IO cycles, nice processes can run at full speed. Also, this was > implemented in such a way that it is completely transparent to users of > the bioq interfaces. Since cam keeps a deep queue of IOs it may want to > adjust it's priorities for the IO as well. This would prevent a possible > delay for high priority IO while cam works through a queue full of low > priority IO. As it is though the response time should be reasonable. > > This patch does not introduce any higher priority levels. It would be > easy to do, but I don't see any demand for it right now. The patch is > available at http://www.chesapeake.net/~jroberson/prio.patch > > Thanks, > Jeff > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-arch" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message