From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 20690 invoked from network); 6 Jan 2021 19:26:11 -0000 Received: from 1ess.inri.net (216.126.196.35) by inbox.vuxu.org with ESMTPUTF8; 6 Jan 2021 19:26:11 -0000 Received: from mimir.eigenstate.org ([206.124.132.107]) by 1ess; Wed Jan 6 14:18:27 -0500 2021 Received: from abbatoir.fios-router.home (pool-74-101-2-6.nycmny.fios.verizon.net [74.101.2.6]) by mimir.eigenstate.org (OpenSMTPD) with ESMTPSA id 358a439a (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO) for <9front@9front.org>; Wed, 6 Jan 2021 11:11:33 -0800 (PST) Message-ID: <3352C30E7FABA4B1547D228A5403FC9B@eigenstate.org> To: 9front@9front.org Date: Wed, 06 Jan 2021 11:11:31 -0800 From: ori@eigenstate.org In-Reply-To: <4FD99002DC7ADF798DF538CA33F26565@felloff.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: enhancement-based STM module-scale manager Subject: Re: [9front] mycroftiv's zrv and rfork V, patch for current 9front Reply-To: 9front@9front.org Precedence: bulk Quoth cinap_lenrek@felloff.net: > this implementation seemes flawed to me. > > closesgrp() appears only to free the memory of the Srv* > nodes, but doesnt actually free srv->chan, srv->owner > and srv->name. > > also the locking seems suspicious. as the global Srv* > list was just replaced with per process one, but we'r > still only have a single srvlock to serialize > concurrent access to it. > > so far, the srvgrp can only be reset or shared depending > of the RFCSRVG flag. once you implement copying you'd > need a lock per Sgrp. i'd prefer to have a lock per > Sgrp right now and remove the global srvlock. > > pexit() should move the sgrp = up->sgrp; up->sgrp = nil > in the exiting qlock(&up->debug);... block instead of > making its own. > > why do we need /zrv? is there a new devzrv.c device that > was missing in the diff? > > -- > cinap > On top of that, I think rfork flags aren't a very nice semantic. What about reworking to bind '#s/clone' /srv to create a new fork of a srv, without adding new special namespace cases? That also eliminates the need for zrv, since you can just keep the old /srv bound somewhere else.