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 06645C3601A for ; Sat, 5 Apr 2025 12:50:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 708636B0007; Sat, 5 Apr 2025 08:50:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B6436B0008; Sat, 5 Apr 2025 08:50:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 57E696B000A; Sat, 5 Apr 2025 08:50:08 -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 35CA16B0007 for ; Sat, 5 Apr 2025 08:50:08 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E497FBAE06 for ; Sat, 5 Apr 2025 12:50:08 +0000 (UTC) X-FDA: 83299972896.10.513D2DB Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 8018EA0005 for ; Sat, 5 Apr 2025 12:50:06 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ct0q1ixd; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf15.hostedemail.com: domain of toke@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=toke@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743857406; a=rsa-sha256; cv=none; b=nx5jY71tjC/wd4RnMLWTggrjNBquBvKEOC7VH7P4N2hE1wA4YwipMuhorEYoX422dz6ao/ gV2Sw2HrTdWdeb8BX/FPxN7LtTm/eBnZP8OnW7GnWsfC+lZ9F7XTY2BePd2v157o5J1Drl RS1OoqcEaCT7weJ26xuVTpqB9OGQ2/c= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ct0q1ixd; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf15.hostedemail.com: domain of toke@redhat.com designates 170.10.129.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=1743857406; 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=ZbhmTXu9rUURn3Mh33G/EOLptyF2TFq1HwRHUUWQpNw=; b=lNqMdkEF6GYyNnLh1GVk7wK+baLY0QCjvfodEhbzUMGZaGYtx+GjQooUSwDXdFVBLxM7Xx y6c7ubSautNLwiLl/kMoMD0Bvajp70+V7L6xmEGzbBDLkve+tKzx1i7u1EzIw5dTnWAmb1 YSjNBjqwgEbWaJ8Tf/q1u6dKQ89byyc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1743857405; 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=ZbhmTXu9rUURn3Mh33G/EOLptyF2TFq1HwRHUUWQpNw=; b=ct0q1ixddpqJyiXBrX/cldcJryrLmCH/oyoiw/+3Lyxzyjzg6TiuIyxThRd+fJE2CoaNpH ap51SujkVbOojFTz3/Evyhys7Ww+gLP8kJvmowTY26r6uHuvK+kbMI29h2Qc0JITsPh2Qk NcgacUiP+njEJNQn8GG8kbcvgIf4qTQ= Received: from mail-lj1-f199.google.com (mail-lj1-f199.google.com [209.85.208.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-653-XyQojnJRMCy90he8HJvO-w-1; Sat, 05 Apr 2025 08:50:04 -0400 X-MC-Unique: XyQojnJRMCy90he8HJvO-w-1 X-Mimecast-MFC-AGG-ID: XyQojnJRMCy90he8HJvO-w_1743857403 Received: by mail-lj1-f199.google.com with SMTP id 38308e7fff4ca-30bfd03cdf6so14953861fa.1 for ; Sat, 05 Apr 2025 05:50:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743857403; x=1744462203; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KJSSsQi4y9qy6Jap/bBqkOsEFxIFhRATV85xzgJwngA=; b=RQ9k6ivTrxU6ffsKtXEcFWNBsL1L1rrltAB0MJ3kYCN2zHdudNyO+iASSFmUPMizKv 4HwkaOt4gQZBqQchqu4Y1UUOb93b7iFghr77eDOlr5V+Xu9pL9xRG7HIEYFzpdGgJ3AV wTEbe89XtrEkNWiOL+qrw2jfDYzapND0gV+4Tr8b7iyJpHnHF6fy9D9tGsqthCb+a1zl /gIN7klYLRm38elgqB3oorxHtGKtmGvc+UQOMGEaUa/mDNx2jHW+rfJ9T3N54YGRCktf O3kDO2SRFCkF1vmNYWVhBfntGoaltScyYXbbGRCxxpoOdQg4zifSCG2QfL1klpWG+phQ J22Q== X-Forwarded-Encrypted: i=1; AJvYcCWdL19XJiAX/gCeLCSPvC/s1iIAbgqpxX9xikdzI2svuqiti0dwosjoNlW9cxaCEZYcUeUoGp+O2A==@kvack.org X-Gm-Message-State: AOJu0YwQaL2GfMeBtRjjioyZkrXzRTTsI1FuBlEEzeYlm+ckolpWLypo gX4kGMtkVCZrH5220vF5AlhS/H3VrQOR/s/ZHNlxCsQG1fXmlH9+xEAZT8OZiQ0FL6DEZuGt0T5 7bBT1ZQMxW9mZp//hc9pfdKDzeBJZebmqPFz2qHcVNQBatMzv X-Gm-Gg: ASbGncvRol4/r+ChG133hCFEa0W9wfsGi+EUwtt+8bKYLa9CAm2n+xwK7Tgf21oV6pT Dsn9ZvWIl2v4B/5xUeTxq1szv0wO0yuB/azANVvHkjVnGiGugqevAFGvA1r0H6UAV5GeSJTQ6vx WYJZDS1nk+4nwhnzfYX3AWiIiO6onhbt+xa9MVxKswDuHBYXRj/ueXeCWspLQpCh9+RcSn8BW3s 8ImIN/t1GeoZlRw/R6iQEdS+3rPPUsD1iUz1aBMkFUUupUdVKkA9bdPMpa7NoZSPNtUGdwuYhhz FYc0SQRSTDFbSenDWTwgofMg0Tu2yLLa9zNY/Xmi X-Received: by 2002:a2e:ab0c:0:b0:30d:694d:173b with SMTP id 38308e7fff4ca-30f165a2ea4mr10764521fa.33.1743857402898; Sat, 05 Apr 2025 05:50:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHB21V3mnevjJOBuKtDbkjuEQHYW7vTlUl/JuKqTWWRK9nD5+it91BDmAxcHGGPPFWJPz3EEg== X-Received: by 2002:a2e:ab0c:0:b0:30d:694d:173b with SMTP id 38308e7fff4ca-30f165a2ea4mr10764381fa.33.1743857402525; Sat, 05 Apr 2025 05:50:02 -0700 (PDT) Received: from alrua-x1.borgediget.toke.dk ([45.145.92.2]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30f031ce793sm8871321fa.107.2025.04.05.05.50.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Apr 2025 05:50:01 -0700 (PDT) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id D0AC618FD793; Sat, 05 Apr 2025 14:50:00 +0200 (CEST) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= To: Alexander Lobakin Cc: "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 , netdev@vger.kernel.org, bpf@vger.kernel.org, linux-rdma@vger.kernel.org, linux-mm@kvack.org, Qiuling Ren , Yuying Ma Subject: Re: [PATCH net-next v7 2/2] page_pool: Track DMA-mapped pages and unmap them when destroying the pool In-Reply-To: References: <20250404-page-pool-track-dma-v7-0-ad34f069bc18@redhat.com> <20250404-page-pool-track-dma-v7-2-ad34f069bc18@redhat.com> <3b933890-7ff2-4aaf-aea5-06e5889ca087@intel.com> X-Clacks-Overhead: GNU Terry Pratchett Date: Sat, 05 Apr 2025 14:50:00 +0200 Message-ID: <87jz7yhix3.fsf@toke.dk> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: oqKWYJQpJmyYXzc-2D2cqQBfWCRvBN3eFNMuD9Poq5g_1743857403 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 8018EA0005 X-Stat-Signature: 88k87ryj5ck8sptaspftkmxqhheeb1rp X-HE-Tag: 1743857406-935788 X-HE-Meta: U2FsdGVkX1+g7gDR9d5iduHpJlT3csC7adCXp0McALNgRBB0OJZZ4OMkAaln0/Fl+Ty4zJvL/UigBOwnxShBXhefzYKHWLGKWR2dqggu2eKTZNocAq9O+bWckzAw9ma1kVXRBO4hf+jNbGw2JFdi1A2RT/PDvZi1LopAzKfWOZJlUKgMNDsJdBcUgFIrCwnFKml4MYYdZlFy+4X+YqcnlOJQE71WXMOmXE9ZQHSLJMx5Bck93+mQWg4nDLkEq6rnAYsdOk10+TqxoPXCohZAinf0VGHiM6LctYeSGRmazlmdTcNvmWz0ACAAU/t673rmfj4ylqitB3cpn7PmxdvvX0Re6jr6OuXx3L8EBJD2UGKwURx3weygwl7YhnjRUkcbq+CV3Sm16w+5J1JMy3dqR+g3WUxnxwShXgS2aL+flIvYTb61OND1+zXUh3bgd8IpDi9YNWWKzyzjzzLvu+tDurErwLAgY/O3NsemWutvfn5X+G50WYVwbJVZDyDW71HXiyT/d65vJGUa6fyRYsiQaCPjVauf8Acy79lUvz1Jao61K7Gc1miPi6N1pQolO/6mxWLqxtelqNXGUJf8Bd66FErM22RAVdywHT3GCJYcfYBDei9J0sXbgSwkPFZjRDNXIYvSVufE/ZKLBEQK+lcUymam2zoUa2F1roSRwDvvCv9zxGGeMN8Rq9uA1pj1QypGkMojGU3Cc9QkAkoVef7BtsvQa89UeYV42S58YPbWLXwnjzMB02BKdGlufGcOcXZ82lvaEgNmwsW4OUKiYqKnYDUBxPS/SNxVKuedqsk6XtC0oIMUdKpJwPBjT0dQkyTqlMzOFw+2W4kIb06Uo+BSckpUUY3k7JFvY5ZaC7iMxpnTAmCi/ekhQFnIKwpY+YNzv3s8reGJgMxXGgxBT1vU9D3GPUyubPvQ7vxbch+VDHR6z1Q/YJufL+nRnnu1qFS94iU7asNKePENnxXpmmN E6mhF9Cq wspRAuuj/TnNXvdBrJQG0RSBkzDV9u3ctUWNWLRkiKv7zdUV4dA01bzshlEjjVuTeOxKkLXsPWc1NcNZ/EogA0rxGpFjJ41LbwHHRubutUqcWlK7F34Cv/FxUhdop5J9CEZVyT5Xb+hWaJW0euHbbD034THW1XAcCRTF72WU3n4xoNebL2eU7glpqerK0AsZW195PyYad69H8LO1vB3q+JBTpWcYiiWMf1eTEEW6aV/KTji2XwdJEUOf+AtKMCNo1QX974V7gw8zSy0sGjxzctZ3hwMIMVh8e7q8bGTJ0nkSwGnQlAbQvs5wRW2y2bFoNb9qRn18vA/q4+vEsChn89ZGvA0liK2OinD1hCf8c6AEOtEzGCebWgG9s4aikeipEG5/OlC3+PurMOUwBoa0CRje/3mFZYOIYCN0bOWR7jfCoR+yI2bNoDLsXX44aqq0pJj8+B5M+WEQL2CgJfb9NUbgUcvutYKrX09c9sNw6oROMotpvmxvCqR9jJO3dcagv1eyCK7iUaNfTky4GS2OmAEhO9nGxIeakv54g 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: Alexander Lobakin writes: > From: Alexander Lobakin > Date: Fri, 4 Apr 2025 17:55:43 +0200 > >> From: Toke H=C3=B8iland-J=C3=B8rgensen >> Date: Fri, 04 Apr 2025 12:18:36 +0200 >>=20 >>> When enabling DMA mapping in page_pool, pages are kept DMA mapped until >>> they are released from the pool, to avoid the overhead of re-mapping th= e >>> pages every time they are used. This causes resource leaks and/or >>> crashes when there are pages still outstanding while the device is torn >>> down, because page_pool will attempt an unmap through a non-existent DM= A >>> device on the subsequent page return. >>=20 >> [...] >>=20 >>> -#define PP_MAGIC_MASK ~0x3UL >>> +#define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL) >>> =20 >>> /** >>> * struct page_pool_params - page pool parameters >>> @@ -173,10 +212,10 @@ struct page_pool { >>> =09int cpuid; >>> =09u32 pages_state_hold_cnt; >>> =20 >>> -=09bool has_init_callback:1;=09/* slow::init_callback is set */ >>> +=09bool dma_sync;=09=09=09/* Perform DMA sync for device */ >>=20 >> Yunsheng said this change to a full bool is redundant in the v6 thread >> =C2=AF\_(=E3=83=84)_/=C2=AF AFAIU, the comment was that the second READ_ONCE() when reading the field was redundant, because of the rcu_read_lock(). Which may be the case, but I think keeping it makes the intent of the code clearer. And in any case, it has nothing to do with changing the type of the field... -Toke