From owner-freebsd-arch Wed Jun 28 22:18:46 2000 Delivered-To: freebsd-arch@freebsd.org Received: from mail-relay.eunet.no (mail-relay.eunet.no [193.71.71.242]) by hub.freebsd.org (Postfix) with ESMTP id 9E62837BB1C for ; Wed, 28 Jun 2000 22:18:40 -0700 (PDT) (envelope-from mbendiks@eunet.no) Received: from login-1.eunet.no (login-1.eunet.no [193.75.110.2]) by mail-relay.eunet.no (8.9.3/8.9.3/GN) with ESMTP id HAA18498 for ; Thu, 29 Jun 2000 07:18:37 +0200 (CEST) (envelope-from mbendiks@eunet.no) Received: from localhost (mbendiks@localhost) by login-1.eunet.no (8.9.3/8.8.8) with ESMTP id HAA21361 for ; Thu, 29 Jun 2000 07:18:37 +0200 (CEST) (envelope-from mbendiks@eunet.no) X-Authentication-Warning: login-1.eunet.no: mbendiks owned process doing -bs Date: Thu, 29 Jun 2000 07:18:37 +0200 (CEST) From: Marius Bendiksen To: freebsd-arch@freebsd.org Subject: Alterations to vops Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG After having discussed the issue of find(1) and similar processes hogging CPU due to being very un-nice when stuck in these waiting on BIO, I have, together with Brian Feldman, who first pointed it out as a problem, come up with a suggested solution. First off comes adding "off_t *offs" to the relevant vops. This value would be initialized to VNOVAL by the caller, and then be updated by the vops in subsequent calls. Secondly, a new error value, ERETRY, would be added, which would signify that the vop has not completed and should rather be reissued. The libraries would do this transparently to the users. This value is proposed rather than EAGAIN as there is no resource shortage at all. This mechanism would also simplify the directory scanning in UFS, at least somewhat. Feedback? --- Marius Bendiksen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message