From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 36A5DC67861 for ; Tue, 9 Apr 2024 16:18:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 8BC1881FDF; Tue, 9 Apr 2024 16:17:59 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Qjt3tLVZiOYU; Tue, 9 Apr 2024 16:17:58 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.34; helo=ash.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 33DC081F85 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1712679478; bh=VlcmHNsCwSvCc74TrBcs49hXKJM0udmD4CNSlCrF+Lo=; h=Date:From:To:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Cc:From; b=yRfz3gfsHzAVbZs/haOHTya8bpTikH2laQXGeQ4B5lrNY/aucgbRdPXf9Zag5STXV Y4G4ri203ImkCyTR6HBqcx5FJuUntmAlxBfQBeCdS0Q90R5hVPrMDaV6grwkRytImB xU1SJO72grpiPS9nQ1hU1nfeWjt5pWXrBm5uBQMLPiqqxwI49WXZGc1JFU8VT2Tf58 NDNwd4S5mRoJOOku1wSwGx447BRbh4LUvab+R0Lj4ruDAVx/H5MoMW/TsmCTFiiKD7 rY1/WLjXpB+Sgp1yhKLEfM5pYggrYJm7ySpCIdl48kw+DOXPvM5HuY4ZprNOsT9yaZ QZ00frOp3UKcQ== Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id 33DC081F85; Tue, 9 Apr 2024 16:17:58 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 0673A1BF372 for ; Tue, 9 Apr 2024 16:17:56 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id F36E640B39 for ; Tue, 9 Apr 2024 16:17:55 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 56uYC0tAp5OL for ; Tue, 9 Apr 2024 16:17:55 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::433; helo=mail-pf1-x433.google.com; envelope-from=keescook@chromium.org; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org 3762140571 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 3762140571 Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by smtp2.osuosl.org (Postfix) with ESMTPS id 3762140571 for ; Tue, 9 Apr 2024 16:17:54 +0000 (UTC) Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-6ed627829e6so1561892b3a.1 for ; Tue, 09 Apr 2024 09:17:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712679474; x=1713284274; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VlcmHNsCwSvCc74TrBcs49hXKJM0udmD4CNSlCrF+Lo=; b=UpGnNINg0egB4epjFkaJyeg99g3BFRL/QGg757d9fdjTNIymHeIgxWziccyKeRFtmG 2C4yL7+LYHp7vYMhDhjiRFOC9iRbi12vUt3g1YUhBC0N3mGBfqG2OtY1y3y02vtvZxP7 w1+W7bE8MG7h0W52fEJuFv0tvwEPEoSF5Ujm93y0JhoxWJG6YdgLelOKCKX8xOXEp+j3 j65OyWi0Jl8n1l/Sq1yu3iHyB78pboMN/T1/BR3D6q3kvj3sZC/a/QXNu3hHMIEy4/nY jqbNT2/jchqoxWQlXAsUB3c2dYUBSm+aiDlufK6gbfYOGOdStKjJ4oL+NplI4uqG3Qrs 5duA== X-Forwarded-Encrypted: i=1; AJvYcCXSAOZzTl9gAKx9DI+wE3UvwaQocvYYTlr8bCF9yadYSyLVvY0LqVS7ASkqCRKybVmwg2iGg+L+BVAlKw+fJI7NSfOHH3Q9kf6xPS0//eHZiA== X-Gm-Message-State: AOJu0Ywdq0JzaRbx7iMbAC0RRRJxdIZni438IbJtyJiy9EQt30dAfrrh KhWKjqF1I90JrdxWMNA7oT/lVcB1J9+whBzxne9dNFgB9UwLhMZBzQwhm2oKcw== X-Google-Smtp-Source: AGHT+IF+HuccTfimdnMNYhgaM6Pzx7wcEOoErnnFz7FQkS1gRTkWP5q8FoX5RgQ6dGyVfovJAJRQEA== X-Received: by 2002:a05:6a20:244d:b0:1a7:a3ba:2bc1 with SMTP id t13-20020a056a20244d00b001a7a3ba2bc1mr405903pzc.15.1712679474281; Tue, 09 Apr 2024 09:17:54 -0700 (PDT) Received: from www.outflux.net ([198.0.35.241]) by smtp.gmail.com with ESMTPSA id y16-20020aa78550000000b006ecda086db2sm8483699pfn.110.2024.04.09.09.17.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 09:17:53 -0700 (PDT) Date: Tue, 9 Apr 2024 09:17:53 -0700 From: Kees Cook To: Alexander Lobakin Message-ID: <202404090909.51BAC81A6@keescook> References: <20240404154402.3581254-1-aleksander.lobakin@intel.com> <20240404154402.3581254-8-aleksander.lobakin@intel.com> <20240405212513.0d189968@kernel.org> <1dda8fd5-233b-4b26-95cc-f4eb339a7f88@intel.com> <755c17b2-0ec2-49dd-9352-63e5d2f1ba4c@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <755c17b2-0ec2-49dd-9352-63e5d2f1ba4c@intel.com> X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1712679474; x=1713284274; darn=lists.osuosl.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=VlcmHNsCwSvCc74TrBcs49hXKJM0udmD4CNSlCrF+Lo=; b=c5m3at4pMdGsuHxyRxJA5j0pgshKkBXbxdsYeApq0fmMRppsuW9SW7VexPfQE5VjBL u9sawtBZpaGGUD6Ho2SFfpbeqeVh54lPIJ2xynBUVHbZumxAs6eaRNZFvQ2xlvRQSg0Q STivWEaJkRii3AaeOYeuxMHsNYUne5gW0UsRY= X-Mailman-Original-Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=none dis=none) header.from=chromium.org X-Mailman-Original-Authentication-Results: smtp2.osuosl.org; dkim=pass (1024-bit key, unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256 header.s=google header.b=c5m3at4p Subject: Re: [Intel-wired-lan] [PATCH net-next v9 7/9] libeth: add Rx buffer management X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jesper Dangaard Brouer , netdev@vger.kernel.org, Alexander Duyck , Ilias Apalodimas , Yunsheng Lin , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Eric Dumazet , intel-wired-lan@lists.osuosl.org, nex.sw.ncis.osdt.itp.upstreaming@intel.com, Jakub Kicinski , Christoph Lameter , Paolo Abeni , "David S. Miller" , Vlastimil Babka Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" On Mon, Apr 08, 2024 at 11:45:32AM +0200, Alexander Lobakin wrote: > From: Alexander Lobakin > Date: Mon, 8 Apr 2024 11:11:12 +0200 > > > From: Jakub Kicinski > > Date: Fri, 5 Apr 2024 21:25:13 -0700 > > > >> On Thu, 4 Apr 2024 17:44:00 +0200 Alexander Lobakin wrote: > >>> +/** > >>> + * struct libeth_fq - structure representing a buffer queue > >>> + * @fp: hotpath part of the structure > >> > >> Second time this happens this week, so maybe some tooling change in 6.9 > >> but apparently kdoc does not want to know about the tagged struct: > >> > >> include/net/libeth/rx.h:69: warning: Excess struct member 'fp' description in 'libeth_fq' > > > > Oh no, maybe we should teach kdoc to parse struct_group*()? > > scripts/kernel-doc apparently can handle them... > > + Kees > Ah, hm, scripts/kernel-doc throws away the early arguments of struct_group_tagged, but I suspect it needs to create a synthetic member for the tag. i.e. instead of: struct_group_tagged(tag, name, members...) becoming members... it needs to become struct tag name; members... It seems this is the first place anyone has tried to document the tagged struct name! :) Does this work? I haven't tested it... diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 967f1abb0edb..64a19228d5dd 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1151,7 +1151,8 @@ sub dump_struct($$) { # - first eat non-declaration parameters and rewrite for final match # - then remove macro, outer parens, and trailing semicolon $members =~ s/\bstruct_group\s*\(([^,]*,)/STRUCT_GROUP(/gos; - $members =~ s/\bstruct_group_(attr|tagged)\s*\(([^,]*,){2}/STRUCT_GROUP(/gos; + $members =~ s/\bstruct_group_attr\s*\(([^,]*,){2}/STRUCT_GROUP(/gos; + $members =~ s/\bstruct_group_tagged\s*\(([^,]*,)([^,]*,)/struct $1 $2; STRUCT_GROUP(/gos; $members =~ s/\b__struct_group\s*\(([^,]*,){3}/STRUCT_GROUP(/gos; $members =~ s/\bSTRUCT_GROUP(\(((?:(?>[^)(]+)|(?1))*)\))[^;]*;/$2/gos; > > > >> > >>> + * @pp: &page_pool for buffer management > >>> + * @fqes: array of Rx buffers > >>> + * @truesize: size to allocate per buffer, w/overhead > >>> + * @count: number of descriptors/buffers the queue has > >>> + * @buf_len: HW-writeable length per each buffer > >>> + * @nid: ID of the closest NUMA node with memory > >>> + */ > >>> +struct libeth_fq { > >>> + struct_group_tagged(libeth_fq_fp, fp, > >>> + struct page_pool *pp; > >>> + struct libeth_fqe *fqes; > >>> + > >>> + u32 truesize; > >>> + u32 count; > >>> + ); > >>> + > >>> + /* Cold fields */ > >>> + u32 buf_len; > >>> + int nid; > >>> +}; > > Thanks, > Olek -- Kees Cook From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3BD3CD1297 for ; Tue, 9 Apr 2024 16:18:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E4DC26B0092; Tue, 9 Apr 2024 12:17:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DFE4D6B0093; Tue, 9 Apr 2024 12:17:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC6516B0095; Tue, 9 Apr 2024 12:17:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id AD8A66B0092 for ; Tue, 9 Apr 2024 12:17:59 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 68D811203E7 for ; Tue, 9 Apr 2024 16:17:59 +0000 (UTC) X-FDA: 81990499878.13.616D152 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by imf14.hostedemail.com (Postfix) with ESMTP id 8308410000B for ; Tue, 9 Apr 2024 16:17:55 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=Q6KhNzdj; spf=pass (imf14.hostedemail.com: domain of keescook@chromium.org designates 209.85.210.174 as permitted sender) smtp.mailfrom=keescook@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712679475; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=VlcmHNsCwSvCc74TrBcs49hXKJM0udmD4CNSlCrF+Lo=; b=PZvwJ6q175+4/YlJ3mE6BoqrG9vILrArhew+7P2fwL+h0HoPutN4mt2yaauPtIdGOgD0FC BYj1gBFyyoPgzI7+titjnwgD6k2H5HgnDL9PIGXW7+B4/5QKJc0T/ESHt5VYdZO1kSKy4d ds90AxkZMGgUL9HIL2XuFcxFz8fhOXI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712679475; a=rsa-sha256; cv=none; b=0cojG2SvubO6k/cEPpHYcoKgBycyOK8gQRVtGudX7sqoGuKrFwb4Sx6MGhDDnOH+wZ/Inx FCzUeK3sHVK9fECDZ2ejs+o8GOKikCrNbz3MeL5VWe7MxaY+p4oCdKMfNO5HY8lkZTWOvG 5I8PiElHKRBisBpl0udzVAkaZPniAUU= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=Q6KhNzdj; spf=pass (imf14.hostedemail.com: domain of keescook@chromium.org designates 209.85.210.174 as permitted sender) smtp.mailfrom=keescook@chromium.org; dmarc=pass (policy=none) header.from=chromium.org Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-6ed04c91c46so3932324b3a.0 for ; Tue, 09 Apr 2024 09:17:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1712679474; x=1713284274; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=VlcmHNsCwSvCc74TrBcs49hXKJM0udmD4CNSlCrF+Lo=; b=Q6KhNzdjWWammUKLjLZf+wlQj5RcZ31qbskhXydamAz7WSnvi/1sFaWJXkT4YLv7qY z/2p95dj1vN2f6qllTgmJL5DHUQGPQ6mPIxXvHfHGwy3sPoqac1Ndb8Q3/tNJaAm/Ta4 2Sx8KPV32LMVaOsHRyUqqQoIYNnpbBJa7R7tM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712679474; x=1713284274; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VlcmHNsCwSvCc74TrBcs49hXKJM0udmD4CNSlCrF+Lo=; b=YPRskpAdbxMZbgGhxKRHblA9pTT1Tbrnxk+fcGu0ftxeSZbBdd8Q0gvxEj5SiOgAFb uwg0dXRqf+esaBDiKaytyZ/WVttzxmYJcSFL25vGKYL3XCgtHqLD38mpt3y+Y14FFyXQ GjXW8FUTKkKgDfoYk8EN3hF7ygkVx+bXh8SSJ+fzrfD7NG1m9pGMuLEurqlmsot5pywd mzt29noDCtnG8avnpT7qE4OvoSQ7+eqaXD0s7aTwjExydNRv/ptm9SiC+SFMMP5Y6ZzU GlXos3o1oIEHiEhMN+0u9BzhU2r+O9km0tUPkpSzHbwbAGRBlsDnYJr8q7kKKYZujLrM Z9mg== X-Forwarded-Encrypted: i=1; AJvYcCWlGXE4s8/Pen9W70IYW6dNAen68AIoyNV63WX1JyTrIkxERJWVsk44Pvs9XWXgULAdm7RYZTw+W/IGfvBLllGDG3o= X-Gm-Message-State: AOJu0YzkW7ePAbvX+FBaKqq4ULUDcCHQVTOCvaDelpg9rZeAh9QSQI/V 9Go3xtGfMrGRndACwEa972QO4gsgWA91HVMcJbY6tKTsAotvkH4BY7RIaca4sA== X-Google-Smtp-Source: AGHT+IF+HuccTfimdnMNYhgaM6Pzx7wcEOoErnnFz7FQkS1gRTkWP5q8FoX5RgQ6dGyVfovJAJRQEA== X-Received: by 2002:a05:6a20:244d:b0:1a7:a3ba:2bc1 with SMTP id t13-20020a056a20244d00b001a7a3ba2bc1mr405903pzc.15.1712679474281; Tue, 09 Apr 2024 09:17:54 -0700 (PDT) Received: from www.outflux.net ([198.0.35.241]) by smtp.gmail.com with ESMTPSA id y16-20020aa78550000000b006ecda086db2sm8483699pfn.110.2024.04.09.09.17.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 09:17:53 -0700 (PDT) Date: Tue, 9 Apr 2024 09:17:53 -0700 From: Kees Cook To: Alexander Lobakin Cc: Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Alexander Duyck , Yunsheng Lin , Jesper Dangaard Brouer , Ilias Apalodimas , Christoph Lameter , Vlastimil Babka , Andrew Morton , nex.sw.ncis.osdt.itp.upstreaming@intel.com, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net-next v9 7/9] libeth: add Rx buffer management Message-ID: <202404090909.51BAC81A6@keescook> References: <20240404154402.3581254-1-aleksander.lobakin@intel.com> <20240404154402.3581254-8-aleksander.lobakin@intel.com> <20240405212513.0d189968@kernel.org> <1dda8fd5-233b-4b26-95cc-f4eb339a7f88@intel.com> <755c17b2-0ec2-49dd-9352-63e5d2f1ba4c@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <755c17b2-0ec2-49dd-9352-63e5d2f1ba4c@intel.com> X-Rspamd-Queue-Id: 8308410000B X-Rspam-User: X-Stat-Signature: 6cjbjrr99mr1kbbxuu6hhu6w78i7ricn X-Rspamd-Server: rspam03 X-HE-Tag: 1712679475-353779 X-HE-Meta: U2FsdGVkX19o0H0f3yfT8nyztpN8c7NDHw1X8cTywcZVVVl2vWMsSt6Pm+ZjIUe98XDs9W5yBhNbpVCUgowlw8+vN64lvLC+Y0mrK95JAwhAFPRolOv7wcCcRECYwU21dZEzDfVAXt3mS9r+TOehtltT5GmG/yWQLULB56MLP1BuDDj6JWv8rkQQ/pLH/MKfzw4M1blOaYBo+pjN329jhwxirJDXvr8prW0DUv8z0EYfqFFTcSI2r46b5yvbcwkURoTuTV+uxZVVIJgZOBotgpyaxLlEV5uXMDBHp7Z8Zon6Ajj9gJHa9gDudLxKS/nYv523V0Q+hYRrS5ZaKfeKQ95QzfQpf2ls5hWpFR0XpoVTJ4hABPoGNUrdIoNLMKVTVnQG6Wwbuco50Jp2Ygju9xLSmcRR8mThDWbEmaWt+4ssBBi+HQSN2hDjVOJ4yIbm6hM9SXGlWVQjIg0UhupWfijQaRo7hWERg3mM8xwxLFQAUjQ/izHU34XYh988jfxWGuGizS7F3xX6SCSZzm86WIcHnc7bVa2DkVClfMMYR5sqxzb8h5fjY8lYb2B208Ki+EBILseG+1firWD+fo0sZtypapquscPMYPz/VOFF+3d83uv0EJHkOj6UJrcMWwitXy9E9WAjklW9PT8Y+1CuQAgLm1jozSoOZA4JBCMd12XbYNNCC+cz0BBhTAO/0YsHafUyyC1uNIdknR/5In0L3sDYKp+yrn+9WwFssMPJCag8egskfQLlYpxU49S99Kc6xoiwgSGIpXbQzt4UhJ9Z0EzfKilSLxr8jQMZY5xlc1aiKuXMySZu+lakX5fgBnPPYqMqRnAvc78LcBmWD2D+5zAelqTYT+tgfPrjABnS6jFlu8yhdOAhlMd1I+/ZfyC5PAxCCQp2M9mNi3i1OuJm2RpFEmihU1ZgbIlDqmxINcsNDuUj6hjGxID7kGZNogHS/w96g8zdifaoIqGJsgn u8KH1Uoo 6hbe+tgGndW3Lkh4q6Qi5BF7bdedkzjpfC8cfAsYkprvxo9v+S5xCzKHDQVKoLi3sxSm4zJB/KNY3xcl63NtKZYCHrA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Apr 08, 2024 at 11:45:32AM +0200, Alexander Lobakin wrote: > From: Alexander Lobakin > Date: Mon, 8 Apr 2024 11:11:12 +0200 > > > From: Jakub Kicinski > > Date: Fri, 5 Apr 2024 21:25:13 -0700 > > > >> On Thu, 4 Apr 2024 17:44:00 +0200 Alexander Lobakin wrote: > >>> +/** > >>> + * struct libeth_fq - structure representing a buffer queue > >>> + * @fp: hotpath part of the structure > >> > >> Second time this happens this week, so maybe some tooling change in 6.9 > >> but apparently kdoc does not want to know about the tagged struct: > >> > >> include/net/libeth/rx.h:69: warning: Excess struct member 'fp' description in 'libeth_fq' > > > > Oh no, maybe we should teach kdoc to parse struct_group*()? > > scripts/kernel-doc apparently can handle them... > > + Kees > Ah, hm, scripts/kernel-doc throws away the early arguments of struct_group_tagged, but I suspect it needs to create a synthetic member for the tag. i.e. instead of: struct_group_tagged(tag, name, members...) becoming members... it needs to become struct tag name; members... It seems this is the first place anyone has tried to document the tagged struct name! :) Does this work? I haven't tested it... diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 967f1abb0edb..64a19228d5dd 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1151,7 +1151,8 @@ sub dump_struct($$) { # - first eat non-declaration parameters and rewrite for final match # - then remove macro, outer parens, and trailing semicolon $members =~ s/\bstruct_group\s*\(([^,]*,)/STRUCT_GROUP(/gos; - $members =~ s/\bstruct_group_(attr|tagged)\s*\(([^,]*,){2}/STRUCT_GROUP(/gos; + $members =~ s/\bstruct_group_attr\s*\(([^,]*,){2}/STRUCT_GROUP(/gos; + $members =~ s/\bstruct_group_tagged\s*\(([^,]*,)([^,]*,)/struct $1 $2; STRUCT_GROUP(/gos; $members =~ s/\b__struct_group\s*\(([^,]*,){3}/STRUCT_GROUP(/gos; $members =~ s/\bSTRUCT_GROUP(\(((?:(?>[^)(]+)|(?1))*)\))[^;]*;/$2/gos; > > > >> > >>> + * @pp: &page_pool for buffer management > >>> + * @fqes: array of Rx buffers > >>> + * @truesize: size to allocate per buffer, w/overhead > >>> + * @count: number of descriptors/buffers the queue has > >>> + * @buf_len: HW-writeable length per each buffer > >>> + * @nid: ID of the closest NUMA node with memory > >>> + */ > >>> +struct libeth_fq { > >>> + struct_group_tagged(libeth_fq_fp, fp, > >>> + struct page_pool *pp; > >>> + struct libeth_fqe *fqes; > >>> + > >>> + u32 truesize; > >>> + u32 count; > >>> + ); > >>> + > >>> + /* Cold fields */ > >>> + u32 buf_len; > >>> + int nid; > >>> +}; > > Thanks, > Olek -- Kees Cook