From owner-freebsd-arch Mon Jan 22 14:54:55 2001 Delivered-To: freebsd-arch@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id 9186537B6B0 for ; Mon, 22 Jan 2001 14:54:36 -0800 (PST) Received: (from des@localhost) by flood.ping.uio.no (8.9.3/8.9.3) id XAA73794; Mon, 22 Jan 2001 23:54:30 +0100 (CET) (envelope-from des@ofug.org) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: Bruce Evans Cc: arch@FreeBSD.ORG Subject: Re: Second zone allocator patch References: From: Dag-Erling Smorgrav Date: 22 Jan 2001 23:54:29 +0100 In-Reply-To: Bruce Evans's message of "Mon, 22 Jan 2001 19:26:55 +1100 (EST)" Message-ID: Lines: 35 User-Agent: Gnus/5.0802 (Gnus v5.8.2) Emacs/20.4 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Bruce Evans writes: > The simplelock was a spinlock, so changing it to a lock that can sleep > changes the semantics. This seems to be a bug in the ZONE_INTERRUPT > case -- note how the ZONE_INTERRUPT case of _zget() avoids locking > stuff while the !ZONE_INTERRUPT case uses it. OK - how about changing the init code so that if the ZONE_INTERRUPT flag is specified, the lock is initialized as a spin lock? That will require adding a "zmtxtype" or similar member to struct vm_zone. > sysctl_vm_zone() reminds me too much of Linux procfs where the kernel > wastes a lot of time formatting strings. *groan* don't I know it. The advantage it has over linprocfs is that at least it returns all the data in one piece. With procfs and linprocfs, if the reader uses a small read buffer it can end up with gibberish. I'd really love to have session tracking so I could format the data on open (or on first read) and cache it until the end of that session. > It doesn't even provide > any features that aren't implemented in userland like it did originally, > since dillon implemented vmstat -z (except vmstat -z leaves out some > details). But vmstat -z gropes inside the zone allocator's private parts... and currently doesn't work because I wasn't aware of it until an hour ago, and didn't update it. I'd rather update vm_sysctl_conf() to be more like vmstat -z, and then have vmstat -z simply print its output, than teaching vmstat -z how to fondle the zone allocator's privates. That's simply not done in polite company. DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message