From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1672E43C01; Tue, 27 Feb 2024 16:18:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 916E840151; Tue, 27 Feb 2024 16:18:28 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 2305240150 for ; Tue, 27 Feb 2024 16:18:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1709047106; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=njRqXI6IZFTF+YjeG+FaCGfD+ndJAEJZA5C8CNHz42U=; b=HPkGsQtIK/6jzy2if25Qj7ibyxzCNPZtoWUjiA8yWk+aIvMM2mx2Xv3/oeDS/0yDSl+KOk t+5hAkg4JSlycxQ8HH5mCpG2k5bMDIjGXwfSQNBDV9d3Rk+TwbpWEZnhn6bDVULLOhzJbH b+e5CVQrwxCdDghcrUCEe1o3sCle1sU= Received: from mail-lj1-f198.google.com (mail-lj1-f198.google.com [209.85.208.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-549-yOEm7r-mMsaInrY3AQla-Q-1; Tue, 27 Feb 2024 10:18:24 -0500 X-MC-Unique: yOEm7r-mMsaInrY3AQla-Q-1 Received: by mail-lj1-f198.google.com with SMTP id 38308e7fff4ca-2d240155a45so35657201fa.0 for ; Tue, 27 Feb 2024 07:18:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709047103; x=1709651903; h=content-transfer-encoding:cc: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=njRqXI6IZFTF+YjeG+FaCGfD+ndJAEJZA5C8CNHz42U=; b=AmQd/8dFd+rI+Crz+oyR6TNjqNuHiEiIDM6sYl/CQ+u91WtKT4XSQnNAHrJpT8aa/O +hGgAswyH9sE90jcu4gxer8yWf4JYgWLeiTeFtLLHtT/3bTJbQJcKPBKK/Uua2oOL7YX Q7e7rDOPBOGBSysjz+NXZSXADk3KohLE4RdvID1ArAjoLxJ/BteXy1/C2qVvnEHvsbiP xSEw58tR7pmQhAg7DCfbr35iuy3m+JYpNqJyd5EmsRlsk0+HcAoqTCwR3V7dr9QkOzvD 73lC48d0ST8V+sDtziap2Vry+lHbi84emlerjVsqOLlmMxtMH3vuLcjUvGSrpDLgsjwr afAQ== X-Gm-Message-State: AOJu0YyP4qs50vQSjpI9tRvgNEwgE6YqXCppqip2OVC5dkVXM/Bqa6X7 RHMyJIoPQE6r5MmibCi1xM4HqO5J0eR2yVqfbScbZUdCPSq15U59cYtMhBh+HYd8tPwhAHw1E3P 7etYjiSK8rUNKBZVQBRhSLo4LrmthjNQ5CMflr4THpIL/LC8tJbB/d50kAyj2iLpn1oruz+l8Ep i8L4WM1stI9HkdUu4= X-Received: by 2002:a05:651c:105c:b0:2d2:3202:68c5 with SMTP id x28-20020a05651c105c00b002d2320268c5mr5993584ljm.32.1709047102818; Tue, 27 Feb 2024 07:18:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IFqEPLfuldHG0SH5HIR/dNn2qpe/8NovvfPTC/A4YbLY2+IFRaSu6o+osyHftPW52V39z6N6RtbrSVEkUtm2WA= X-Received: by 2002:a05:651c:105c:b0:2d2:3202:68c5 with SMTP id x28-20020a05651c105c00b002d2320268c5mr5993543ljm.32.1709047102486; Tue, 27 Feb 2024 07:18:22 -0800 (PST) MIME-Version: 1.0 References: <1706657173-26166-1-git-send-email-roretzla@linux.microsoft.com> <1709012499-12813-1-git-send-email-roretzla@linux.microsoft.com> <1709012499-12813-21-git-send-email-roretzla@linux.microsoft.com> In-Reply-To: <1709012499-12813-21-git-send-email-roretzla@linux.microsoft.com> From: David Marchand Date: Tue, 27 Feb 2024 16:18:10 +0100 Message-ID: Subject: Re: [PATCH v6 20/23] mbuf: remove and stop using rte marker fields To: Dodji Seketeli Cc: dev@dpdk.org, Ajit Khaparde , Andrew Boyer , Andrew Rybchenko , Bruce Richardson , Chenbo Xia , Chengwen Feng , Dariusz Sosnowski , David Christensen , Hyong Youb Kim , Jerin Jacob , Jie Hai , Jingjing Wu , John Daley , Kevin Laatz , Kiran Kumar K , Konstantin Ananyev , Maciej Czekaj , Matan Azrad , Maxime Coquelin , Nithin Dabilpuram , Ori Kam , Ruifeng Wang , Satha Rao , Somnath Kotur , Suanming Mou , Sunil Kumar Kori , Viacheslav Ovsiienko , Yisen Zhuang , Yuying Zhang , mb@smartsharesystems.com, Tyler Retzlaff X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Hello Dodji, On Tue, Feb 27, 2024 at 6:44=E2=80=AFAM Tyler Retzlaff wrote: > > RTE_MARKER typedefs are a GCC extension unsupported by MSVC. Remove > RTE_MARKER fields from rte_mbuf struct. > > Maintain alignment of fields after removed cacheline1 marker by placing > C11 alignas(RTE_CACHE_LINE_MIN_SIZE). > > Update implementation of rte_mbuf_prefetch_part1() and > rte_mbuf_prefetch_part2() inline functions calculate pointer for > prefetch of cachline0 and cachline1 without using removed markers. > > Update static_assert of rte_mbuf struct fields to reference data_off and > packet_type fields that occupy the original offsets of the marker > fields. > > Signed-off-by: Tyler Retzlaff This change is reported as a potential ABI change. For the context, this patch https://patchwork.dpdk.org/project/dpdk/patch/1709012499-12813-21-git-send-= email-roretzla@linux.microsoft.com/ removes null-sized markers (those fields were using RTE_MARKER, see https://git.dpdk.org/dpdk/tree/lib/eal/include/rte_common.h#n583) from the rte_mbuf struct. I would argue this change do not impact ABI as the layout of the mbuf object is not impacted. As reported by the CI: [C] 'function const rte_eth_rxtx_callback* rte_eth_add_first_rx_callback(uint16_t, uint16_t, rte_rx_callback_fn, void*)' at rte_ethdev.c:5768:1 has some indirect sub-type changes: parameter 3 of type 'typedef rte_rx_callback_fn' has sub-type changes: underlying type 'typedef uint16_t (typedef uint16_t, typedef uint16_t, rte_mbuf**, typedef uint16_t, typedef uint16_t, void*)*' changed: in pointed to type 'function type typedef uint16_t (typedef uint16_t, typedef uint16_t, rte_mbuf**, typedef uint16_t, typedef uint16_t, void*)': parameter 3 of type 'rte_mbuf**' has sub-type changes: in pointed to type 'rte_mbuf*': in pointed to type 'struct rte_mbuf' at rte_mbuf_core.h:470:1= : type size hasn't changed 4 data member deletions: 'RTE_MARKER cacheline0', at offset 0 (in bits) at rte_mbuf_core.h:467:1 'RTE_MARKER64 rearm_data', at offset 128 (in bits) at rte_mbuf_core.h:490:1 'RTE_MARKER rx_descriptor_fields1', at offset 256 (in bits) at rte_mbuf_core.h:517:1 'RTE_MARKER cacheline1', at offset 512 (in bits) at rte_mbuf_core.h:598:1 no data member change (1 filtered); Error: ABI issue reported for abidiff --suppr /home/runner/work/dpdk/dpdk/devtools/libabigail.abignore --no-added-syms --headers-dir1 reference/usr/local/include --headers-dir2 install/usr/local/include reference/usr/local/lib/librte_ethdev.so.24.0 install/usr/local/lib/librte_ethdev.so.24.1 ABIDIFF_ABI_CHANGE, this change requires a review (abidiff flagged this as a potential issue). Opinions? Btw, I see no way to suppress this (except a global [suppress_type] name =3D rte_mbuf)... --=20 David Marchand