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=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1993 invoked from network); 4 Nov 2022 23:42:17 -0000 Received: from tb-ob1.topicbox.com (64.147.108.173) by inbox.vuxu.org with ESMTPUTF8; 4 Nov 2022 23:42:17 -0000 Received: from tb-mx0.topicbox.com (tb-mx0.nyi.icgroup.com [10.90.30.73]) by tb-ob1.topicbox.com (Postfix) with ESMTP id 7E25732A48 for ; Fri, 4 Nov 2022 19:42:13 -0400 (EDT) (envelope-from bounce.mM2d06525b5c16d6549e9beed9.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx0.topicbox.com (Postfix, from userid 1132) id 7BF962B9861; Fri, 4 Nov 2022 19:42:13 -0400 (EDT) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=nI/tRfcJ header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=rminnich@gmail.com smtp.helo=mail-lf1-f46.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:list-help:list-id:list-post :list-subscribe:reply-to:content-transfer-encoding :list-unsubscribe; s=sysmsg-1; t=1667605333; bh=J+IqbNbo04dh5mO0 CsQuZbLhfqxMcR5IW2hPV+smRm0=; b=QSjS8e49MTXkTmzH2fR4NiHUmFaG7mfh obc1KutDJ6kz9ukd2aQ1VWUYE/8+oflyLv7+FLpoiFfxjlNviwIz82DaSkTBVs1P WYEPt33L4KdIo5FNYuCCzrHsRDRLa4qmpeDJ7dhidnF0YQRBe7DFFb8Tmf9KIUmp d9+4o4PsNgM= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1667605333; b=CMcYwtZ1a4+MzxnKOze3EWYlfh8N/IkFx107j5nQdP6094TMH7 tFV9KQe/BXiWYjhe+hkGWJgbJIo4FD8aBkMxS+dFXuCunrypMvkkhZLXnL4k2LU1 R6ddrGmEr+X3VFzz3q9RCRfdqsORG8lb8c9daPNisLoMH/7YT0WUJvFDM= Authentication-Results: topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=nI/tRfcJ header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=rminnich@gmail.com smtp.helo=mail-lf1-f46.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=nI/tRfcJ header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.167.46 (mail-lf1-f46.google.com); spf=pass smtp.mailfrom=rminnich@gmail.com smtp.helo=mail-lf1-f46.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=1w1ur0na; x-me-sender=none; x-ptr=pass smtp.helo=mail-lf1-f46.google.com policy.ptr=mail-lf1-f46.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:content-type:list-help:list-id:list-post:list-subscribe :reply-to:content-transfer-encoding:list-unsubscribe; s=dkim-1; t=1667605333; x=1667691733; bh=5Pxu2eF6ys0ujFBtPmRUlkYZb8dU3B9b ujpOO09/a9c=; b=DwVg+eqCSu2P5aKQvWElwu0/YasKn3D0osPRgd6gODu0KO8x j1slndn7ufW3xF+6rcb/dwPQS1DXUJ8+GiALLKg4FTksN3IobTdlskmRwFKwerTB AFu88ZN5ETwezIN4sZpEM0tkcb8q2TP2O+u6hl6O2DiNZpO2b2J8sG9tKC0= Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id 7565D2B9439 for <9fans@9fans.net>; Fri, 4 Nov 2022 19:41:58 -0400 (EDT) (envelope-from rminnich@gmail.com) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id 620B09F140A; Fri, 4 Nov 2022 19:41:58 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1667605318; b=duhhbyvdkh90aX3B1TXdgDytaoo9wyYJy71Iu32oeQ5gp/w423 X4uPYH+RoZCf5rMs7kMGSXLxnYZH/2YS89w2/ECWJNKldLMD7ANnHLSnw4L2GIoq A0eYIAjoEc11907xdUlcAFdFLhp9velM2haHGjNRt48nN5FAkz89+DxCu8l3TCUS Ddxpu5iUbsNvX5EEpVWZg87MX0w7mzF3NybhXeCkvrbpFUPbmBeRDAT+52vdIKCu B32ajTRHHUV2HqKoJdGhLufCEItSqDrldKcr2GQCOX41oxRQe3dicL6+ftiXw5Y2 5hkeS0xj5q6tr2FoCZXaU7fdxJFtj5bp/Ixw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; s=arcseal; t=1667605318; bh=Lo1Otj8lNeZel1aPlYcKhSo16wF5g8OMD7pJGSfe+YM=; b=y5g4777S352z xzcfbOpAjc3fASCEtOHK/FXRqhJlPQDTdkQDEK/PR6jjsLIGQx+62qjk0CmuXXep VJMxzLNQUm4pYaIY5e+kkVUeqDaDUef1JRing3SIxSzBGBoslvMIXMaQqXR4Buua LljwBOE8KuClODD0uDLguV2VlratLdpy3H9quvPFru8eHxGNgVZnMVLRMDwtTpsH FCzFDQIntsx/L6aZXDfKdMrCMAPuPJo/S1S3BisHc56PZkrxjSS4UnzAXD26SNJL iHHlNB//QJf7jJEtlJHNakoNJf4n5YGQtZVy0L1AQY/9uSxe6S5U/0YxG/jaq7h7 5vRM9VLbKg== ARC-Authentication-Results: i=1; tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=nI/tRfcJ header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.167.46 (mail-lf1-f46.google.com); spf=pass smtp.mailfrom=rminnich@gmail.com smtp.helo=mail-lf1-f46.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=1w1ur0na; x-me-sender=none; x-ptr=pass smtp.helo=mail-lf1-f46.google.com policy.ptr=mail-lf1-f46.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedvgedrvddvgdduvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepgghfjgfhff fkuffvtgesrgdtreertddtjeenucfhrhhomheprhhonhcumhhinhhnihgthhcuoehrmhhi nhhnihgthhesghhmrghilhdrtghomheqnecuggftrfgrthhtvghrnhephffgjeeitdelke fhhfekvdekgeffuedtudejueduueetieektdehkeekveeujedtnecuffhomhgrihhnpehg vhhishhorhdruggvvhdpshgtihhtvghprhgvshhsrdhorhhgpdhgihhthhhusgdrtghomh dpthhophhitggsohigrdgtohhmnecukfhppedvtdelrdekhedrudeijedrgeeinecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvddtledrkeehrdduieejrd egiedphhgvlhhopehmrghilhdqlhhfuddqfhegiedrghhoohhglhgvrdgtohhmpdhmrghi lhhfrhhomhepoehrmhhinhhnihgthhesghhmrghilhdrtghomheq X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'rminnich@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="rminnich@gmail.com"; helo=mail-lf1-f46.google.com; client-ip=209.85.167.46 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Fri, 4 Nov 2022 19:41:57 -0400 (EDT) (envelope-from rminnich@gmail.com) Received: by mail-lf1-f46.google.com with SMTP id j4so9422984lfk.0 for <9fans@9fans.net>; Fri, 04 Nov 2022 16:41:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Lo1Otj8lNeZel1aPlYcKhSo16wF5g8OMD7pJGSfe+YM=; b=1w1ur0naNm7yCN57yht8YZJkm5zkwyUPDss4D8RRCobMMpAkYr2E4lu9q/fStLIOzD OrPgAlGrIsCJykEo1OpMcqVfNG+zz+TyTrf4FYcs3OxjmDzaK2pJjL1LoOs8lx6vWhjC 0zbnxaSnl0+qZczfC0vVZdJEldQV6EzODQ2p0W2koymxYCQc2yJJ9Ya4zBJAo7P9zXUS OioAFepGyMH4DDdsnZtblUdYxZVdILwA+wCwYWobD/HLLLZqF47PpxpFgSziV3q7iliR EOXewSFkdoSosNWWAoM0RQ+NTC843+sDXJVmHjw+rPfVRTovPYsUrJ+j0c+leWZ0zB5P 4HYQ== X-Gm-Message-State: ACrzQf1u9EsDAOZGkG/f+vAQInmxEUO6BtQ0AS5/+hdcC07FqPrm/9MN Fhg8BsKFjWzhxC/0uhpWq4m+hmiZFmLh6rE6dHwOquTJXuw= X-Google-Smtp-Source: AMsMyM7FDik8GIe/5xtCJMebNbkMhyioKIfVGqt2j+pCjujNxNMHswcKYvTFi9n/+KDLJuNy5LRqKwXFTJ66l+iARhk= X-Received: by 2002:a05:6512:60d:b0:4ad:2170:1a1e with SMTP id b13-20020a056512060d00b004ad21701a1emr15340293lfe.674.1667605315525; Fri, 04 Nov 2022 16:41:55 -0700 (PDT) MIME-Version: 1.0 References: <16672580590.81C97dEDC.85252@composer.9fans.topicbox.com> In-Reply-To: <16672580590.81C97dEDC.85252@composer.9fans.topicbox.com> From: ron minnich Date: Fri, 4 Nov 2022 16:41:44 -0700 Message-ID: Subject: Re: [9fans] A few questions about 9p To: 9fans <9fans@9fans.net> Content-Type: multipart/alternative; boundary=0000000000007523e205ecad9e55 Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 4a83bfc8-5c9a-11ed-aec2-e74c3a763f7a Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UMDRlMTFmZTE0NzM5ZGE2OC1NMmQwNjUyNWI1YzE2ZDY1NDllOWJl?= =?UTF-8?B?ZWQ5Pg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> Content-Transfer-Encoding: 7bit List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:M2d06525b5c16d6549e9beed9:1:X5ME3y8pWCGbxYovruPByB50c2X4TO2R-WQTR1ZPMvs --0000000000007523e205ecad9e55 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Tflush is harder than it looks, given that it is part of a giant race condition. Will you get the R for the message you are flushing right after you send Tflush? What happens at the server? It's fun. Perhaps one of the biggest uses of 9p, globally, was google's gvisor, which runs an unimaginably large (to me anyway :-) amount of compute in Google Cloud. gvisor: https://gvisor.dev/docs/, Comparison here: https://www.scitepress.org/Papers/2021/104405/104405.pdf I suspect more bytes moved through 9p on gvisor in a day than moved on all other platforms since 2000. All I can say is, it's a lot. gvisor used to use 9p (my fault :-) and, although we started with Andrey and Lucho's go9p, at some point it was replaced by Chris Koch's implementation. It's quite good. You can see how Chris handled Tflush here: https://github.com/hugelgupf/p9/blob/main/p9/handlers.go#L104 I'd argue that this may be the most real-world-tested Tflush handler you'll see. I have seen Tflush handlers that just return, having done nothing, and it's possible that in many cases, that's good enough. But Chris's code is VERY heavily tested with real workloads. I also know, as I saw it many times, that the Plan 9 kernel Tflush could at times get extremely confused. When we ported it to Akaros, we even saw cases where Tflush would run out of control and exhaust the XID space, sending flush after flush as fast as it could create them. Finally, due to some issues with 9p that could not be fixed, the gvisor engineers created a new protocol, LISA, https://github.com/google/gvisor/tree/master/pkg/lisafs, worth reading. HTH ron p.s. FYI, when we first started gvisor, we had it in mind that it could support Plan 9 binaries, and planned accordingly, but that was never tested. On Mon, Oct 31, 2022 at 4:15 PM ibrahim via 9fans <9fans@9fans.net> wrote: > I have read the manuals and also searched for this question here without > finding an answer (perhaps I missed it) : > > 1) question about flush : > > Lets say there was a pending message with tag=3D1234 and the client of my > server sent a flush message with a tag=3D1450. During the travel of the f= lush > the server sent a response to the message tagged 1234 cause it finished. > > The manual states that the client has to forget about the flush message as > if never sent. Does that mean that message tagged with 1450 which is now > ignored by the server won't be replied (no error reply and no success rep= ly > cause if the server would reply with rflush the client would take this as > if the flush succeeded due to the manual page). > > Can a client reuse a tag from an unanswered flush message immediatly (in > the example tag 1450) > > 2) tversion > > A client sends tversion while in the middle of a running session. Is it > right to abort/ignore/close/flush all possibly pending messages from the > prior session ? > > The next question is regarding msize[4] in tversion. How should a server > respond when msize suggested from the client is to small like > msize-IOHDRSIZE< one min_stat_size ? > > > Thanks in advance ;) > > *9fans * / 9fans / see discussions > + participants > + delivery options > Permalink > > ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T04e11fe14739da68-M2d065= 25b5c16d6549e9beed9 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription --0000000000007523e205ecad9e55 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Tflush is harder than it looks, given that it = is part of a giant race condition. Will you get the R for the message you a= re flushing right after you send Tflush? What happens at the server? I= t's fun.

Perhaps one of the biggest uses of 9p, gl= obally, was google's gvisor, which runs an unimaginably large (to me an= yway :-) amount of compute in Google Cloud. gvisor: https://gvisor.dev/docs/,  Comparison here: https://w= ww.scitepress.org/Papers/2021/104405/104405.pdf

I = suspect more bytes moved through 9p on gvisor in a day than moved on all ot= her platforms since 2000. All I can say is, it's a lot.

gvisor used to use 9p (my fault :-) and, although we started wi= th Andrey and Lucho's go9p, at some point it was replaced by Chris Koch= 's implementation. It's quite good.

You = can see how Chris handled Tflush here: https://github.com/hugelgup= f/p9/blob/main/p9/handlers.go#L104

I'd a= rgue that this may be the most real-world-tested Tflush handler you= 9;ll see. I have seen Tflush handlers that just return, having done no= thing, and it's possible that in many cases, that's good enough. Bu= t Chris's code is VERY heavily tested with real workloads.
I also know, as I saw it many times, that the Plan 9 kernel = Tflush could at times get extremely confused. When we ported it to Aka= ros, we even saw cases where Tflush would run out of control and exhaust th= e XID space, sending flush after flush as fast as it could create them.

Finally, due to some issues with 9p that could not = be fixed, the gvisor engineers created a new protocol, LISA, https://github= .com/google/gvisor/tree/master/pkg/lisafs, worth reading.
HTH

ron
p.s. FYI, when w= e first started gvisor, we had it in mind that it could support Plan 9 bina= ries, and planned accordingly, but that was never tested.
=

On Mon, Oct 31, 2022 at 4:15 PM ibrahim via 9fans <9fans@9fans.net> wrote:
I have read the manuals a= nd also searched for this question here without finding an answer (perhaps = I missed it) :

1) question about flush :

Lets say there was a pending message with t= ag=3D1234 and the client of my server sent a flush message with a tag=3D145= 0. During the travel of the flush the server sent a response to the message= tagged 1234 cause it finished.

The manua= l states that the client has to forget about the flush message as if never = sent. Does that mean that message tagged with 1450 which is now ignored by = the server won't be replied (no error reply and no success reply cause = if the server would reply with rflush the client would take this as if the = flush succeeded due to the manual page).

C= an a client reuse a tag from an unanswered flush message immediatly (in the= example tag 1450)

2) tversion

A client sends tversion while in the middle of a run= ning session.  Is it right to abort/ignore/close/flush all possibly pe= nding messages from the prior session ? 

<= div>The next question is regarding msize[4] in tversion. How should a serve= r respond when msize suggested from the client is to small like msize-IOHDR= SIZE< one min_stat_size ?


<= div>Thanks in advance ;)

= --0000000000007523e205ecad9e55--