From patchwork Thu Mar 27 10:44:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= X-Patchwork-Id: 14031028 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 1E152C3600B for ; Thu, 27 Mar 2025 10:44:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9F43E2800D9; Thu, 27 Mar 2025 06:44:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9A4762800CF; Thu, 27 Mar 2025 06:44:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 845B92800D9; Thu, 27 Mar 2025 06:44:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 6719A2800CF for ; Thu, 27 Mar 2025 06:44:37 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id BE61A808CC for ; Thu, 27 Mar 2025 10:44:38 +0000 (UTC) X-FDA: 83266997436.14.938A166 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf11.hostedemail.com (Postfix) with ESMTP id 3A22240004 for ; Thu, 27 Mar 2025 10:44:36 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="Xc/A5T/A"; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf11.hostedemail.com: domain of toke@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=toke@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743072276; a=rsa-sha256; cv=none; b=XOtDKzTg40gB0Xm87MBSonsn2+Q7zg/eGhq4RF84RcEagfFYrWrk+wNXk6/xklkrtW2Qvv byUs5J+Dk54nTpvUnmK3ZEmFpHUiiyMie7POgu532F648DC/iEv7r8KbiGRwv7dcJ0s1nj kghCvK9Xij/SjKSmR9Rk7z9rwSpKKW8= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="Xc/A5T/A"; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf11.hostedemail.com: domain of toke@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=toke@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743072276; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=9t4W5dGLSES67cAKB6/mNTM9c41OeoyQ+4Jai1EE1rk=; b=syro7LXD3JrAWGeX3l0zHe3iy9a5a0r+dBY9jUNFMMYy9s42oHkm1vf5d4cZ1K8GnGGKJP md7AwGuoBBgTUAN5hPVTL9mKLz2Po4kTnk+nNeoH3vr+WKpiW85LehdJo9tOhH6Weh+52X 0jWjc4Jz+E/V9BbP7AYJye7vUyrNtwo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1743072275; 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=9t4W5dGLSES67cAKB6/mNTM9c41OeoyQ+4Jai1EE1rk=; b=Xc/A5T/AyHYyqqSWETK7SKkQih0DBsWMD/RMNVlf/xB/sef9jeeavHkKWOvI9RvYV8lXJl gmyaSAlnnFDtcEq6IXgLgdWgCVmxHvXgtAC5/NR4YTxN3d4EV9PjNh3jO49lJ3e0hOR5ct M01k3FDabqqoQNiOfVUWNbtLwIWhKhQ= Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-122-s-h8lSS-OZCVBPl9dtHi3w-1; Thu, 27 Mar 2025 06:44:34 -0400 X-MC-Unique: s-h8lSS-OZCVBPl9dtHi3w-1 X-Mimecast-MFC-AGG-ID: s-h8lSS-OZCVBPl9dtHi3w_1743072273 Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-5e5eb195f01so777518a12.1 for ; Thu, 27 Mar 2025 03:44:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743072273; x=1743677073; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9t4W5dGLSES67cAKB6/mNTM9c41OeoyQ+4Jai1EE1rk=; b=lPZNmk2tRr8+dtS0VvagQJqEZnzoUfWxHnaxWOK1dFN0Z80nHbCllU/nBydpedSkvL E1SZQxmz0scjE7WsN5VQddzH80ww7UNPBOH+aY5F1KFxC8k2uPYxus0jzvz/VxXa54MC ujVMxKNi6YyUpzg7i56SqUnGv2omf9wkebLGtLEOc3GpIjCamcVJ1MM+dY5i+vwyK/4y Lt4ua7CbWm4py3cTxocopz/pp5ZCuSvPZhApLa2EJwt4SfqZh7MREZts7PMrc9FaA56S O+1ZEspY+a1SHlyuyMqZfxkA39LecfsoJKm7NtDdQSg6Z4AliBLpcSYqrcDtIfgenkS2 hBuA== X-Forwarded-Encrypted: i=1; AJvYcCU+2/cf8ko8aSnoaaMkDUjk+wgwB5nD0TlA6AFNBCjvJUtS3lEUCzkdD3s+k484QtnQvtn34ueWRA==@kvack.org X-Gm-Message-State: AOJu0Yxrp5wBkWf5GCScZ1JpUygs02JDe2X987jnywbpaVo8XD/JY2RW q1eE+Lizg36cXQMNCFBlAaN3R3OqFLuuFWdgRi710iI4U5/uCcb1n+Q3qDUtK572ge/QaIFzAPM 15vV7dSk2MQsEoWPhIeTJPhFv8JPUnZU6ifyv+JnyUgNcxow2 X-Gm-Gg: ASbGncuS0yH49Kw7vMjwmtMJteEa8R+P7ZqTSQDPB366J/NR6J6tOuy+qEFwmU8a0I5 D76CgKNugIfHEBqJrK/4AC/aHVP8vEP1iNv1JR02oJBjbs1p6ZcrQgVBr+OqYjksr/SMLArghfr t90IyezwP9pwpkDJpNipd7oB3c+nELKiY88Bj34D5nznGhjqKnfAQoA5og/CgDWCHU1INimwTb1 wTlE92+EHxxKK4UcGD/8d3WGS4xmNQrXfUb+hrplYmxts3BU0YIOsftBv/xE+0wIUn4YZvznT5I VKjXkae22r6d X-Received: by 2002:a17:907:9445:b0:ac1:f5a4:6da5 with SMTP id a640c23a62f3a-ac6fb0fd646mr282330066b.37.1743072273060; Thu, 27 Mar 2025 03:44:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF5W/lqNkHafWShe6vkN9vTaP1afnDzl/apRQY9StJ2QLIsUkjICNTeJVHXqSm6f8TF9xUcTw== X-Received: by 2002:a17:907:9445:b0:ac1:f5a4:6da5 with SMTP id a640c23a62f3a-ac6fb0fd646mr282327066b.37.1743072272623; Thu, 27 Mar 2025 03:44:32 -0700 (PDT) Received: from alrua-x1.borgediget.toke.dk ([2a0c:4d80:42:443::2]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac3efd45594sm1193278166b.160.2025.03.27.03.44.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Mar 2025 03:44:31 -0700 (PDT) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id B20B918FCBFD; Thu, 27 Mar 2025 11:44:30 +0100 (CET) From: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= Date: Thu, 27 Mar 2025 11:44:12 +0100 Subject: [PATCH net-next v4 2/3] page_pool: Turn dma_sync into a full-width bool field MIME-Version: 1.0 Message-Id: <20250327-page-pool-track-dma-v4-2-b380dc6706d0@redhat.com> References: <20250327-page-pool-track-dma-v4-0-b380dc6706d0@redhat.com> In-Reply-To: <20250327-page-pool-track-dma-v4-0-b380dc6706d0@redhat.com> To: "David S. Miller" , Jakub Kicinski , Jesper Dangaard Brouer , Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Andrew Lunn , Eric Dumazet , Paolo Abeni , Ilias Apalodimas , Simon Horman , Andrew Morton , Mina Almasry , Yonglong Liu , Yunsheng Lin , Pavel Begunkov , Matthew Wilcox Cc: netdev@vger.kernel.org, bpf@vger.kernel.org, linux-rdma@vger.kernel.org, linux-mm@kvack.org, =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= X-Mailer: b4 0.14.2 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: G5excuHGAxqPUxt4E_55Evkml6sdLvSNOxkIgCr26Nk_1743072273 X-Mimecast-Originator: redhat.com X-Rspamd-Queue-Id: 3A22240004 X-Stat-Signature: 6k1rd1a4eodhuppwugfp9ujijyjpdmkw X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1743072276-781755 X-HE-Meta: U2FsdGVkX1/WmYTIAxUOhY2kAcJvdI/m+mBQ4MMJW/mG9t3+dUyx58v0AsMVm+TlbW31O1XPWchODG6WxV6ZQHBxzVGV/PksI4rOQhkILL68Mu1R8oqz4pravc0DlQNmQ9j04ecu5c5ijgyxxQP1q+ZuYUkzOnOylUv/KbTedfygrROrgZuZecH7aaDNpBzbKMDFp94NLCoMuFpT3M2+64z0WDAmzBwPIhXjxVEnYYQ0NtkMp7tT3KZfzJ+jAKAfZe1yG9DK/kGvMCXFu95jCmGI/yCxXAmBf2XLzhUyj5xoalF0t8sFd5Kb/gr4r/E2tmlb0n2FA5WC3Ps1nkTxsHBJgyvCSLdP5x1MX6E4zwVXOP4aRCIPp6L7eNLIQy85y1/JmtXJUwivgcT7D1IpPwntFK9J26t5Za3Lgdq9wHj5bTwcD2plOY7mHZluSaNvn1tFavTMTOAz9+9sjqK8DXYdp4xSejBzj+XOp4hymuGRVjoULB7znEF8hZOkXiiPQiXYaEDJefqB37bl+gBa4e+qwQ4knHFpafZtwU12Sppr9E6wZMdMn9v0bLZLJ/d3+kM6HvuQPA4p9KjN6POTlM7DYifaMqKmOYtGeuOsNLkpqM5NSjfH+uUQSdib0tPmOUCrlWzXXy7PvMyqTAJX2PcaNgqxywnBFzuB0tZ5GNDTL+USkaQmWmB+9BPMtxQef/PNEaN0clL64ADlbP8zt13ebeXNAgke0KDRKq/u9WiOxyk0u8zRTsYiYGfuJmp2kZjDSc6wVWOnYiAdyrsQe74FxUZVJWy5w/jUi1HIV5QMfmuekYScfZw3X2OJIq0LVm9mFGjqpWoNLHDHY9jVP5+qPoeJbytIet/tHaZ0ZGlObdIVnNiB1fSQQ3A9hIYTb026gljxZx35q02AdhHQ3WZCJtYsQFPo8/tKnlT4aKHnzFVOOPJcYqpcE51nBoGCDVQt6C0MArfu7gJkD8+ kerpdHAf RvoRUy9zs9ux5HjmoP7WHSzX4LG17SoabBjSSe2u5xOp9JD/NBXQQ1r4KWf9TiH8dEM9z3/8Uii2wbrt0ri+v/UZ0jTqZcp+Vx7GeArM+dbMGpWxxgKYk7IbVJApXKKv6IUBMBLAPPfdbn1Rhq/YKhLbovsAWwqYD+x8Eawt9xRPhaDVu+xqvhM+tSS1OGJdiSD5q2a7zVlAh5GAlUYD11CZW1TXteMRc/Z8exnqbDydqWzwBbvHDgHIYKi6dcITwAdHINk5R6mmN6LrpWjaWgPc71RzS8RYZE86Lcv3N5wYqY/MxVxI8ylM7E+5fROqpCIuzeTqB0tHaXn0IKjD7gTEmcchZ1s5aRXGSgG0eAI0Z3kKkd9FYyvah509yKICQU4loQvZx6EsE/lqEUjASUQ+dHbb63eia5lMpmoMPGOmNlyrmZM2YEABA/Tn4b0oXBSx0H7gXrUbYv/oQhd5iywY7sKMQ9HpAeT4QTFtstHU3MDwWyJMt9Ryg+7juhu398GKJ0ppuEvfjNNEZbeRzzZUg484TK8CSMTidzbg9NjD8FXA2gMcRByIgtOKwCmQTjSITmWJxof9/CB8zf1Lf383OYpdgcuZGGUUR1OKS2AbYMi3x4d07peh/Vc6Ijw8OeNVuh7trKEjD//GcHs1/WcP/9FyQh30/76LqaFVS8vW2v4g= 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: Change the single-bit boolean for dma_sync into a full-width bool, so we can read it as volatile with READ_ONCE(). A subsequent patch will add writing with WRITE_ONCE() on teardown. Reviewed-by: Mina Almasry Tested-by: Yonglong Liu Acked-by: Jesper Dangaard Brouer Signed-off-by: Toke Høiland-Jørgensen --- include/net/page_pool/types.h | 6 +++--- net/core/page_pool.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/net/page_pool/types.h b/include/net/page_pool/types.h index df0d3c1608929605224feb26173135ff37951ef8..d6c93150384fbc4579bb0d0afb357ebb26c564a3 100644 --- a/include/net/page_pool/types.h +++ b/include/net/page_pool/types.h @@ -173,10 +173,10 @@ struct page_pool { int cpuid; u32 pages_state_hold_cnt; - bool has_init_callback:1; /* slow::init_callback is set */ + bool dma_sync; /* Perform DMA sync for device */ + bool dma_sync_for_cpu:1; /* Perform DMA sync for cpu */ bool dma_map:1; /* Perform DMA mapping */ - bool dma_sync:1; /* Perform DMA sync for device */ - bool dma_sync_for_cpu:1; /* Perform DMA sync for cpu */ + bool has_init_callback:1; /* slow::init_callback is set */ #ifdef CONFIG_PAGE_POOL_STATS bool system:1; /* This is a global percpu pool */ #endif diff --git a/net/core/page_pool.c b/net/core/page_pool.c index 7745ad924ae2d801580a6760eba9393e1cf67b01..c75d2add42b887f9a3a74e3fb1b3b8dc34ea72b1 100644 --- a/net/core/page_pool.c +++ b/net/core/page_pool.c @@ -463,7 +463,7 @@ page_pool_dma_sync_for_device(const struct page_pool *pool, netmem_ref netmem, u32 dma_sync_size) { - if (pool->dma_sync && dma_dev_need_sync(pool->p.dev)) + if (READ_ONCE(pool->dma_sync) && dma_dev_need_sync(pool->p.dev)) __page_pool_dma_sync_for_device(pool, netmem, dma_sync_size); }