Re: [Bpf] Review of draft-thaler-bpf-isa-01

Dave Thaler <dthaler@microsoft.com> Wed, 02 August 2023 12:05 UTC

Return-Path: <dthaler@microsoft.com>
X-Original-To: bpf@ietfa.amsl.com
Delivered-To: bpf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 70C28C14CE4F for <bpf@ietfa.amsl.com>; Wed, 2 Aug 2023 05:05:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.109
X-Spam-Level:
X-Spam-Status: No, score=-2.109 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XTxIPa2iMjxO for <bpf@ietfa.amsl.com>; Wed, 2 Aug 2023 05:05:33 -0700 (PDT)
Received: from DM5PR00CU002.outbound.protection.outlook.com (mail-centralusazon11021016.outbound.protection.outlook.com [52.101.62.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9E298C15108B for <bpf@ietf.org>; Wed, 2 Aug 2023 05:05:33 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b3CFBdHJqXnt9+X3N2L2f451d0bj2ydO0CnRauSNGXW07I6LFEE6MGxd0TmcfJWUi1Z7VWIPCGgGHj30E28wUPPxpUxKAmjLZVpyO8Ditc16lOwp+GHetlUvJO3AMQS71HXiVd27LEFeRrWCLdlAPopBJpE2u/VLLlu0drSCVdAFBuglVCAle1SNzcBU9qEiywa2+b3T//0QdtJYjwFBDmJr8S9J3FzDQV7w1UQtx1KU6CpDQE5g8AR0Xs4nXuZXu4U3dkTYJHFWXnTLVZxFjC/Eo/hGguyk/P4iAGvkj1j0oNfBapPJ5zsJV/ddWfyinzY/gJ4S1guUBCo3WQ3fBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=d4w9n16jIszvKlFleDntuRHiBOxVQzU+XgOGz1jBnhM=; b=QQzKELLjI9CoT9SwTQNH+F24DVqEUqhPNPMLxP1U/fx7H5RsNzILVWqKhSiq5MZ9ly5PHwhTYj0S9jC4klOMEWUgtTho0tLM9AMhEQUcdyqTAa9KbTRqgtFN52n30+Yv133EgGK8+Gjdvo3lJ93uelnF4/I2MjgtgT87kzk0qE7lkIRdJ+6AL1JjF6AeNIgGJQW75Wu1jqZQBRMMkiteLkeFQLjWTprz7EU7ElvFZflFpB6KATqEA+3aa55BjhIlKtgh1QCS7hRnHuZxiGoNy4v8gMikYCEqn8VlyqtURbhbXe92PcBU0wr6WRZMaatd6aQz4TmdwElJmSK1JZtBTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d4w9n16jIszvKlFleDntuRHiBOxVQzU+XgOGz1jBnhM=; b=RLIG/WrZKQqwfL9kRVtpldSNJ2zmIU4DfPbZUTODEQwTGBuHvomnpT41ZJu6FoFGjxBUYRNnSIY4QdPrjNmm6pzAB46SPtk+229dqXD+aLL0Txt5VhgU/QRYD8iiAvjX97+wGhevcZ8QAE5NNFS4AT3VO6e1puuC58GRm6ByT50=
Received: from PH7PR21MB3878.namprd21.prod.outlook.com (2603:10b6:510:243::22) by MW4PR21MB1922.namprd21.prod.outlook.com (2603:10b6:303:73::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.6; Wed, 2 Aug 2023 12:05:30 +0000
Received: from PH7PR21MB3878.namprd21.prod.outlook.com ([fe80::3cfe:3743:361a:d95b]) by PH7PR21MB3878.namprd21.prod.outlook.com ([fe80::3cfe:3743:361a:d95b%3]) with mapi id 15.20.6652.002; Wed, 2 Aug 2023 12:05:29 +0000
From: Dave Thaler <dthaler@microsoft.com>
To: Alexei Starovoitov <alexei.starovoitov@gmail.com>
CC: Will Hawkins <hawkinsw@obs.cr>, Watson Ladd <watsonbladd@gmail.com>, "bpf@ietf.org" <bpf@ietf.org>, bpf <bpf@vger.kernel.org>
Thread-Topic: [Bpf] Review of draft-thaler-bpf-isa-01
Thread-Index: AQHZvrWW9Z2mpBtp0E2+6M55X5/AaK/Kg57wgAAlYwCAACeEAIABnVIAgAH0AgCAAXhcAIAACQCAgAAD5YCAAASEgIAAAyOAgAABqACAAARZAIAAF4WAgAALs4CAABuJAIAGE7vAgAANsYCAAJYucA==
Date: Wed, 02 Aug 2023 12:05:29 +0000
Message-ID: <PH7PR21MB387874D32202CBA7F0C9E8DFA30BA@PH7PR21MB3878.namprd21.prod.outlook.com>
References: <CACsn0ckZO+b5bRgMZhOvx+Jn-sa0g8cBD+ug1CJEdtYxSm_hgA@mail.gmail.com> <PH7PR21MB3878D8DCEF24A5F8E52BA59DA303A@PH7PR21MB3878.namprd21.prod.outlook.com> <CAADnVQJ1fKXcsTXdCijwQzf0OVF0md-ATN5RbB3g10geyofNzA@mail.gmail.com> <CACsn0cmf22zEN9AduiRiFnQ7XhY1ABRL=SwAwmmFgxJvVZAOsg@mail.gmail.com> <CADx9qWi+VQ=do+_Bsd8W4Yc-S1LekVq7Hp4bfD3nz0YP47Sqgg@mail.gmail.com> <CAADnVQ+5d8ztfFLraWnZKszAX23Z-12=pHjJfufNbd3qzWVNsQ@mail.gmail.com> <CADx9qWhSqb6xAP=nz5N-vmd2N3+h4TBFtFOGdJUWNfX=LapEBw@mail.gmail.com> <CAADnVQJ4yzDc0qQExLUO1b23ndEiEjnYYPv5qC7JJYmLr4X3ew@mail.gmail.com> <CADx9qWh6ZUKvjkZow6=eB4gvEgP82mBqn+mMZvmDQynCYAfMWw@mail.gmail.com> <CAADnVQKOiwm1UB58=8QcowDyfPQct-wuMD19citS7w5PmadZ6g@mail.gmail.com> <CADx9qWjYChRf2qBr=Pt5D-RLCb665YFKmjDYX8WOQfqMx1-bag@mail.gmail.com> <CAADnVQJDO9MgU2MQQ5NQAE3EwL6PuPp8aAxcV3apf0DHoq8TAw@mail.gmail.com> <CADx9qWjOP4-2K3uKBTRmS4Q5V0gTJtoH65fwN-MhZvn6ukFpBg@mail.gmail.com> <CAADnVQKbpoeMWdnXzYbBaHoDiNsLDbC0JvDUnVGEQbCigjd1Xg@mail.gmail.com> <CADx9qWj4xuYoyz83FphVWU0ZVxy_7Y+SvTWjvChvkMdV290giA@mail.gmail.com> <CAADnVQLWKnGbG6XTVEKSto0kEiqHwFaDTp+UkCYipKpov_btRA@mail.gmail.com> <PH7PR21MB38789504BF4250E37467C484A30BA@PH7PR21MB3878.namprd21.prod.outlook.com> <CAADnVQLt7S9uwMxB3JaLMYACs5xTVwZ+en9pLYUguZ3gOf=33g@mail.gmail.com>
In-Reply-To: <CAADnVQLt7S9uwMxB3JaLMYACs5xTVwZ+en9pLYUguZ3gOf=33g@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=47093801-2e17-4671-aeff-9a517ad050ff; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-08-02T11:27:06Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH7PR21MB3878:EE_|MW4PR21MB1922:EE_
x-ms-office365-filtering-correlation-id: 38fb757b-1f26-45cd-07a5-08db9350c3ff
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: qOTX6iGvEOOZndJDOZFUzGEfugUhIOvnT4V06/bvbeyRq5zmxUMN2NZZo5oeQtGtUyEMWuLpw1KkiEsUbeJ7kZHFzGX1wfV7OiC7hhCYkBGVDIvdade36wnXYV+tNFcNKZh0vswg9pPp5hinADRcaXtNaaDD+c/7ubuQVytZIk4YfUBvR4WHGE1E5y1tXCzfeVCG5Zu7+LhE+ioJNZB1Ijc5cv8dBhwVSS2tsaqYtb4h3hym+AhDYRclWIAn4kTZFpFzJh5I8bh02NXGH+2TeDVoGzfIBVC7GmAiOOFKldDWGl+4yeV/Wolp7C2k73Y75A0JbbQolOBermH0h1cS5jKM9w68kKg9zNnMsvugmcQsbOmA/zETkeQIEe3ebwVvHy7c4WkBUHPg+dmINx5qzATulJQmGfgneBf8SdOCI3u0WQnfuikAw7SzsgFs+d9wThJEikceruXCcgc2c+TntcjK5QFUlLth7e59fUUlCvcBpZLSdGnL1JuXjTvHPzZmw08aCS9x8lL8CcDHcyWQMjbSCl9Fofhi+XGDt6ViVoo8oJPEz3ZpAhUhJGlKOHsRThUKqc5b5ZnoSyhc/kqewpikL2PT/+UREJDlLyQcFprjZ+fZ0mEoqunIfRwQbeFFKXGQypv54Op8ehvy/5PfnA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR21MB3878.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(366004)(376002)(346002)(39860400002)(396003)(451199021)(53546011)(52536014)(8676002)(8936002)(41300700001)(5660300002)(186003)(6506007)(26005)(122000001)(33656002)(86362001)(38070700005)(82950400001)(82960400001)(38100700002)(83380400001)(966005)(10290500003)(9686003)(54906003)(7696005)(478600001)(66476007)(64756008)(66946007)(66556008)(786003)(66446008)(76116006)(6916009)(4326008)(316002)(71200400001)(55016003)(2906002)(8990500004); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: cUK1NdfkP9Ucbsv8HRTjjksQhVGk7DaT6PbStVto8FdA02mwMAmHgKsXEkH5xxnmv4Rk/gXOEr3tENpvY0377cbUqtkXHW1CrxrMHe2OYojJ3G67KSNR+1FPVX1K9aHZ5OdENHiqFjoxOgPa11e0IhBMYkg5vpqMBcJdrT+vlC4WQNdUsdh7IbhCyTPO7LijeTGvghpFaHlYi+4b5O7SC1S3CsHZ8uDiwMauJfmjJHmmgLmP69u/H5xH5rwbaHg4KKGFIZX1L/PyX/1l3cUFHeGrZlagKrFcqhh78VFGIbTFZbmsJISrbzlyOn/wjiZ6dOu2R1c3pvz4raiHOpnZAWovFyI+N0zBakDaFfUwydbwAZda/bD7vE7ykA+SrEQMwRE5G6kzxHsP8ukjITNwsgPBE/CYCl2zNYRs6dK4V9rmnKOGLFWIpbHVqo5LvB7dOkINDQxg2ZeS0dNORfkdo4f3BZEiq0fYOzq46Xsbms3fhV9wQgy1T/Fj2UQGI3bUivKVuGWwULoCU7BGnZiGtTbi5F9jLNnsiGJprKa+mey+khipJ9GO012hz5qrKJKuVeIpfN4sZ0GtTdkZw7xMUb9mhaSnEBnMMTevfVRaXmUCc8HCpJZQ3SHV0mEYBfQ+0akkRcVR6CThOcj9m9G6BXN1LstGoLP3M7cX2uBoo42s6le5IMxI2UdcF/k930s3lidW78rfl4jpMlYPxQMFKNZS2N/6YnSgiSoxxRp2KBjoVDc1kMsZdrQLD3+gIE41lBXoM+XZej3f4qaSmNokINGLzmLRYlT0uxMcT8pBIoJoSsoHqfN0Tr58Y1GsoB2ZqwRgah5k2auzabVBzYF4tEVcbEOFVCMI9FBtTYsySYAskIaAhTQv3qkrXCMPyq8QSjAu1vFwyXKsdtYsXEGVdPr4vy+BuaDqIzDBF8nCukjuUI7M7bUYwDKvtg7MA8TvyfRXPs0NjYYWgrGZp0ix2byumxHLUY6Qcij0TRx0CGrpyizOhYqJ/Xjfr5iidE4Otqe2sCYzZn5a53G+anKzH6wp8Klfhe0BzOBwZb6YgU5XtehmYjeX99P304Yi6kDEoOLoOwkP/CK+/eDGeMhGTifTqqd0W5oxwYz76MJB4lBfieuq1lrJWWu0KSzg6Tgycndib0LoPI5GlcaCbmMZcjLUNcuvBq1iSpjaAqvKF+/k27w36Ias3n5V75l//Ec3eUPiPb7eHf4KLzdr36qGgWdXKmZgN18fXEsZU73ZUltCKV2i1scLFZIoBVFz+8n6lYVGXOLW1lRZG9sQtZjSyVY8JopWYj2HEbNQCcJAfIHOUGaBSUFYnmlUYrP2oSrZlm6A8CRG1mtcpRv7yrgqi8FO9fuuSPXa7MQYVCbWHkIygw7nb9/Vv4d92kqEs79ARaJMVY1+2rFP4I+EoeEq2CK1ygO95/XckHzP+qMPrfeB61wkTg4aePUoeprkRg4FxlhVMModT174uJMhO4HUA5o+vaf2KxJObHSlObl7ZaJnbVnscdoGgLa4xl3L9k2ro+BoTsPWHZwmI+kkHaXQttbgg8Kh0w9tEK/vPdFCONZP/K1VntvZ/YCiEFiWT+On7Q1na5X+0zoqYx6MFE2i7A==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH7PR21MB3878.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38fb757b-1f26-45cd-07a5-08db9350c3ff
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2023 12:05:29.7858 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xDx6drjx1VWqSnNcRwvaqX607ltO19+/hGCVc8oQXSnr2rlkb4ixNiUfhCx80II2giiWjzspNdhIKWGBhzTIleJaUNLfT3KTH3gXxazoegY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB1922
Archived-At: <https://mailarchive.ietf.org/arch/msg/bpf/FcJ7EAZq2FK_IQXh9FwzUEH4aWw>
Subject: Re: [Bpf] Review of draft-thaler-bpf-isa-01
X-BeenThere: bpf@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Discussion of BPF/eBPF standardization efforts within the IETF <bpf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bpf>, <mailto:bpf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bpf/>
List-Post: <mailto:bpf@ietf.org>
List-Help: <mailto:bpf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bpf>, <mailto:bpf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Aug 2023 12:05:37 -0000

Alexei Starovoitov <alexei.starovoitov@gmail.com> wrote: 
> On Tue, Aug 1, 2023 at 6:55 PM Dave Thaler <dthaler@microsoft.com>
> wrote:
[...]
>  I interpreted this as saying no one cared about having the IANA
> considerations section in a separate file there.  But we confirm consensus on
> the list, so it's fine to revisit now if there are good reasons to do so.
> 
> I think IANA consideration section is orthogonal to giant opcode table.

It's not orthogonal, such a table is a required part of the IANA Considerations
section.  See https://www.rfc-editor.org/rfc/rfc8126#section-2.2
(specifically the "Initial assignments and reservations").

> They're related, but don't have to be together in one .rst file.

True.

> I think it's cleaner to have separate instruction-set-opcode.rst

Sure.

> We also went back and forth during the meeting whether hierarchy of tables
> is prefered or one table.

During the meeting, no one argued for one table (other than me saying 
if no one has a preference, I'll leave it the way it is), and several people
argued for multiple tables so I took that as potential consensus for multiple
tables.  But again, we confirm consensus on the list so if anyone here has a
reason why one table or multiple tables are technically better, please speak up.

> Currently you have one table and it actually looks
> very readable. My preference would be to keep it this way and carry over to
> IANA eventually as one table.

Personally, I agree that I find one table more readable.  But it sounded like
others in the meeting found multiple tables more readable.

Comparing slides 8 and 9 from the meeting, at https://datatracker.ietf.org/meeting/117/materials/slides-117-bpf-isa-extension-policy-03
folks will notice that on slide 9 in the multiple tables example, I omitted columns from the opcode table other than the single key field (opcode, src, or whatever depending on the
table) and the description.  Thus for say opcode 0x17 (dst -= imm) the one table
version shows src 0x0 and imm any, whereas the multiple tables one doesn't.
Perhaps it could, but one thing I like about the single table version is that as currently
depicted, opcode 0x17 with src != 0x0 is currently undefined (i.e., available for later use),
whereas the multiple table version with a single key field depicts it as defined as "dst -= imm" with English text in the body of the doc that says src must be zero.

Thus the single table version that presents src as a key field unless it contains "any"
means there's plenty of instruction space left unallocated.  Anyone who actually wants
to disallow any future instructions from ever using opcode 0x17 with src != 0x0 might
prefer the multiple tables (i.e., without src as a key field).  But to me, this could
potentially be a technical argument for keeping one table.

Dave