Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp4989003pxu; Tue, 13 Oct 2020 11:51:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxlDlTlpKEICnDtJh44oo0QUwsOqmsSMtITvZ4hvNDJ0YshP69wADBv8uXBjQIDPNK7RhUZ X-Received: by 2002:aa7:dd01:: with SMTP id i1mr1066358edv.84.1602615086708; Tue, 13 Oct 2020 11:51:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602615086; cv=none; d=google.com; s=arc-20160816; b=V1Jj0bKVkw61QiN7i6qsRMii/x/jgQ/YBpHFc2m0BjSjkkvySYAlo3yKCPVQjVRmbZ aXHimBpn95JPWHJAr4AH3R1dQ2dkzqCdttC++OJhoZ5LiRQ7ON/8DyoynmlMg9gsiDzR HF1n9MteMzP2WwxDLcsglHEhnfmiHJyk2hRi6wFB8+uUsT52czwFQ+GrgVtntZTiKcYs vmGVlI/G1pHrY6dz05YgQe5RKUlanA2YXg2TboPUQmOOSSFUpO1d9r5Kt71Zo4Qxsz5g YAWNygYfCLTb+ZoSrZFMtO+CrTyeGRQLGmD3ZlFK+qG5bJqqoqx3zzvKBZp43WzeV9rU kmow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=OJfGb5wb0OMKzHXaFeiKJCbEN7JwHkjUosC0IqtxCfo=; b=yEl+4j/rCd0ELA/8rWqdGFD8LO+sTBujZF8pX+EV1os2vCiaBHkmP7xuYV92JFVJ7L uBtVDp60MuXraojZGDxvzu1m9ihnGaLPSTVkfNvs+MBRwQdRRQ6zmHgZ0wsRszcv0my8 zIKHQE/MLsM5vVjZYzJUPTADq8uQ67Mb5RLFFhIPsOduhRfRTSEUQhTtk2eIUiBv93Ug uSFP+adeRvbodfBQfVWG1APRPQVjtB84inUo2SjulAEKWPkMz8MgBhe4g2FzjXezTIei AVfnGwcYAKWJINBfwS/gUSfxpD5UGbqpHUqiq6RnuSYtEeMY5y0WRhfyOUIxu0wOhc9Z wcEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JthnFAEi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u17si349367eda.185.2020.10.13.11.51.03; Tue, 13 Oct 2020 11:51:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JthnFAEi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728511AbgJMQum (ORCPT + 99 others); Tue, 13 Oct 2020 12:50:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:33688 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727696AbgJMQum (ORCPT ); Tue, 13 Oct 2020 12:50:42 -0400 Received: from kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com (unknown [163.114.132.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 603F4252DA; Tue, 13 Oct 2020 16:50:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1602607841; bh=UzdiRRE828PH0FyGjY1BxSN00JwHbWSHKpnKAGihyyo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=JthnFAEiOjojkDtYrg5+vYMr4MBL+WwWol21n0YV5LRb/LRkp3OkughkYTXt43sTb rO6dQ16m/DBvanVTS4NhW/ALlfDRysObBGjoftWZEj05kWm/Q55346gtTz2jne3DaL Lj/XQGrWJWl+wC2WybYKXTb0QrV1KRzt2eK7tggs= Date: Tue, 13 Oct 2020 09:50:38 -0700 From: Jakub Kicinski To: Aleksandr Nogikh Cc: Dmitry Vyukov , David Miller , Johannes Berg , Eric Dumazet , Andrey Konovalov , Marco Elver , LKML , netdev , linux-wireless , Aleksandr Nogikh , Florian Westphal Subject: Re: [PATCH 1/2] net: store KCOV remote handle in sk_buff Message-ID: <20201013095038.61ba8f55@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: References: <20201007101726.3149375-1-a.nogikh@gmail.com> <20201007101726.3149375-2-a.nogikh@gmail.com> <20201009161558.57792e1a@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> <20201010081431.1f2d9d0d@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 13 Oct 2020 18:59:28 +0300 Aleksandr Nogikh wrote: > On Mon, 12 Oct 2020 at 09:04, Dmitry Vyukov wrote: > > > > On Sat, Oct 10, 2020 at 5:14 PM Jakub Kicinski wrote: > > > > > > On Sat, 10 Oct 2020 09:54:57 +0200 Dmitry Vyukov wrote: > > > > On Sat, Oct 10, 2020 at 1:16 AM Jakub Kicinski wrote: > [...] > > > > > Could you use skb_extensions for this? > > > > > > > > Why? If for space, this is already under a non-production ifdef. > > > > > > I understand, but the skb_ext infra is there for uncommon use cases > > > like this one. Any particular reason you don't want to use it? > > > The slight LoC increase? > > > > > > Is there any precedent for adding the kcov field to other performance > > > critical structures? > > It would be great to come to some conclusion on where exactly to store > kcov_handle. Technically, it is possible to use skb extensions for the > purpose, though it will indeed slightly increase the complexity. > > Jakub, you think that kcov_handle should be added as an skb extension, > right? That'd be preferable. I understand with current use cases it doesn't really matter, but history shows people come up with all sort of wonderful use cases down the line. And when they do they rarely go back and fix such fundamental minutiae. > Though I do not really object to moving the field, it still seems to > me that sk_buff itself is a better place. Right now skb extensions > store values that are local to specific protocols and that are only > meaningful in the context of these protocols (correct me if I'm > wrong). Although this patch only adds remote kcov coverage to the wifi > code, kcov_handle can be meaningful for other protocols as well - just > like the already existing sk_buff fields. So adding kcov_handle to skb > extensions will break this logical separation. It's not as much protocols as subsystems. The values are meaningful to a subsystem which inserts them, that doesn't mean single layer of the stack. If it was about storing layer's context we would just use skb->cb. So I think the kcov use matches pretty well. Florian, what's your take?