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 CE415C36014 for ; Tue, 1 Apr 2025 09:50:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54D8A280002; Tue, 1 Apr 2025 05:50:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D299280001; Tue, 1 Apr 2025 05:50:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34D55280002; Tue, 1 Apr 2025 05:50:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 169C4280001 for ; Tue, 1 Apr 2025 05:50:31 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id BC4861A27C9 for ; Tue, 1 Apr 2025 09:50:31 +0000 (UTC) X-FDA: 83285005062.24.B70D950 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf23.hostedemail.com (Postfix) with ESMTP id B9065140005 for ; Tue, 1 Apr 2025 09:50:29 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NwWJvPvJ; spf=pass (imf23.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743501029; 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=N+JLssv1AK7cF3bk55PwbvYVlA9DmcWtt6kaFg+hOt4=; b=FMfJnLu4Yp0ulv+r+FH2F6YfDokwgFe6Kg7HCjNVd32kQqC9Ir5+omRB2IGR4tHc79VNAZ XjJcSOh6keXl3aKh2QXHx8+mHJPcSdv/nr+cphNxmGQLGAPZ0xXYRxmaPfdt22VOdSsljM yDJbv0HBxBhshPjiTwGX/SuxhyAY7jM= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NwWJvPvJ; spf=pass (imf23.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743501029; a=rsa-sha256; cv=none; b=vBbNClV5pqEZ/siViCpGkG+iifwlqpkeT8oI93YudDU9eGucxJGRfpqzmp854OaKuW8DC7 FY6phP15M17jVaAiIv8bzsbfmwLY2AgffCVVQmxsW5xwSG6Gbb/ngVK9gAyLKnOc4XGS75 MZrBiVTkOP2cgqT6Wx1nZC5pVXTxJDc= Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-abbb12bea54so1121012966b.0 for ; Tue, 01 Apr 2025 02:50:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743501028; x=1744105828; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=N+JLssv1AK7cF3bk55PwbvYVlA9DmcWtt6kaFg+hOt4=; b=NwWJvPvJc9VI4JV7voYV7xc9Cb1Sco72MTI1yiuoZkZTMSOOJTq4GG3EV2E2qhYDEU wflKePku1kS/k+LRGJAonbUx/pq1ccgScc+BkMJAgoNlx30AJWav4sEDECJ2bXnh7F80 jLRV+of5aFoqSpnpgaH/pjW+EhfvLb3ROukqgnWvSlc9wuU37VlZLG9MyYAWwkGAPbZg v7SPRHSMY8jwBa2D+MtZ4UWAMf8jKbAjEQQ+/tKxO2uv/qsCTdOYuGgD/C7iKLOqhuFK y4xs8QiHanKhcXqW5sQRn2xCJ8FuYLRG3SCp6xvudhmFmhsTSHDz2ls1PDvMFQB6e/t4 JPEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743501028; x=1744105828; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=N+JLssv1AK7cF3bk55PwbvYVlA9DmcWtt6kaFg+hOt4=; b=HmK2nrbwua4JI634mmZO1UeZF8yze3ELOkU1seGl8LNjKpLKsy38sFLSLWbSWge5gx gLmObA1rqQz+8XLsK6t+gIGiNGSfFIfWaJY+gzyyhBSKqGTRYPAtZxOBjSDR+2a8u1yH Q3kdLvXAeqf9Fa5pBCJsnUauMXwk4iqJvonNVt+3Q1KFwQej9rCHVEbSrMR8epeXMqE0 3k2qU31JIuLqGSK7vmk6AXx2LjI7ZrkBeyH4CUeoSGAQCRa49le4lbH8Y52kDFVl1Wbu GmvbmXWARukLwrhajHkJ/4XdONM5KEtqyTRKiYpLBoo1upf7fZ+fTpt6nufFvFgNCBtR h4Vw== X-Forwarded-Encrypted: i=1; AJvYcCV5B+1+N/E4Dxe9yJS1t2GNAqy9l49Ix9/y5IwA4A0H4xY4o6JRxCy3h2NenHYaAcybWupRV6oXfg==@kvack.org X-Gm-Message-State: AOJu0YxC0V4krW4AvrU2aUtxTocieJ2JJrfHu8mmc7iMhePfqaU7QR5m ygUXtIFgRD40XIn3IUfXw9uPmy2Uh+UliErQFcRgaVQhNfUrhIDO X-Gm-Gg: ASbGncuEugHYR3isrYgKsi4MggG/tNfOuK1+kgtSFcszx3cOFcmu3CWZf/m4zEXbIs4 oOwIdhuhoGMbJcjGg1i3oqOyLLF3UOYeQGRVYiDHQwTjPbJMNtSX/miWoWteeXWwF7ytZv4xssR NqIW6ZYQCopTLOfF9BrSH7mFd+KvlCgzzikQkGwJpT9X8FNOp3xBYPvTa8lNOthvn+eT8QZwVQm gmWBuUn6N1ibf+h++5In27AifMN+Mvwiz2z5vEB5lo7DHdzj2sBOi1b6PgokwDaPuxJxQWszqtb 5felLLZT4C/tdWkV3fxI8F7WHW4iiJoLPmWhYVpNjbq0Me5ryDQkpgunAs4m0or4VWY= X-Google-Smtp-Source: AGHT+IGh2DypmZ+QSXfEisjKopl7DmAwPz9kLZ/RHhdI/lnARU+4Ncn1lxWa8OzglpQ3F99FmoTtsg== X-Received: by 2002:a17:907:86a6:b0:ac2:29c7:8622 with SMTP id a640c23a62f3a-ac738c6f07emr1290856566b.54.1743501027938; Tue, 01 Apr 2025 02:50:27 -0700 (PDT) Received: from ?IPV6:2620:10d:c096:325::83? ([2620:10d:c092:600::1:2418]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac71922bf79sm737733166b.35.2025.04.01.02.50.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Apr 2025 02:50:27 -0700 (PDT) Message-ID: <6d1e3c98-e28e-4d30-bff5-1dada745f722@gmail.com> Date: Tue, 1 Apr 2025 10:51:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v5 2/2] page_pool: Track DMA-mapped pages and unmap them when destroying the pool To: Paolo Abeni , Alexander Lobakin , =?UTF-8?Q?Toke_H=C3=B8iland-J=C3=B8rgensen?= Cc: "David S. Miller" , Jakub Kicinski , Jesper Dangaard Brouer , Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Andrew Lunn , Eric Dumazet , Ilias Apalodimas , Simon Horman , Andrew Morton , Mina Almasry , Yonglong Liu , Yunsheng Lin , Matthew Wilcox , netdev@vger.kernel.org, bpf@vger.kernel.org, linux-rdma@vger.kernel.org, linux-mm@kvack.org, Qiuling Ren , Yuying Ma References: <20250328-page-pool-track-dma-v5-0-55002af683ad@redhat.com> <20250328-page-pool-track-dma-v5-2-55002af683ad@redhat.com> <7488e6cf-e68b-4404-aaa9-f4892b2ff94b@redhat.com> Content-Language: en-US From: Pavel Begunkov In-Reply-To: <7488e6cf-e68b-4404-aaa9-f4892b2ff94b@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B9065140005 X-Stat-Signature: jmxnh4j6pzy4ygkt3ozs7nc86ob9zsdb X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1743501029-154844 X-HE-Meta: U2FsdGVkX19ZEd3Q9gBvi0+kWmd+c00yGtpaXFbAe8mcgtff0+RZQDALe2zKtNYqyZdb2gyrPT45KAv2UZfkDkFeSSHYA9o5PubVgG0DOK0/osp6JhSWLnX9RY6ZEeiBhiPL3Is2AgJEGu1Kxp4pcaHDDP9ys3y+edcGIb7WqH0nveeil674IfGwocZw456EIAJ7vhyAzfpYH9olszAs7vLv4ahfMQzslkp/I8KQjwcOSYEj3qJ7MYiEAnAn9ldQOlEVUQjw9cuS6TajSaxCoHJJIh16ixOujcHvQcoT75UcJYjZ6ROQUQqrMk36JAYgkozfXXtv0UqOZwsQFb+DciANkgnUt4HR0R5lRvfNnIw8+dnrkQ+MPKWDSR0BGE1kdEgdv2iva/WKO7JFkOH4WURTHOk587YOpZBGDTlgde0/DDpzWuPPoouPmkzkQJGRvuSuvKMRCnUJi64nHXTfh7Fkgp24WTFx4gY7ezFfTMIKCKp5LdbXnZqUaFk87FXaTbf74/IeTowvOPBhkY+qZJpZ8V9os+1S5lPnH1FDL30HYolav2YPSZ1ei3frvUdetIpdGA3gn7jXiAkYqUIP5bkEY88yXRtwYKmuw/2DEjUkoGf7UEFRkJDZ8Z+w+elWEFwrgtUVg/AAd20j00vo89HZZPPEKrppDYG11W7mBJUUZWmJARE2ZF7bLE+lJYBGTpcVu8Otk+iSx22i5Xy4ytk2V6k776CPLmHw2FrVlh50NCBppLBkqDXJ6D6srFPjPleIUf42C5hVinajjI2qhsvIHxQOhQG5dL7b4NMNUdMuHbGtarjJIvKjRhD41/7DhoEughOWAqVVPxMxfoixp4A4b+iALdDJWBzBhhW8UqShUNVR/XnOpEt7p9kCwo4915jM7cY9rcqMC3xTLeut8AMGBww8wr93dSPrAsBllRHK76yyEy2H/AMS0HOYytvu6MHd3NNmi5k0IrTFvPx 41QVKkAL eM0wi8nDqoq/UtINIaI6fcGkQY2hYs86UgTFqOEB2J0vWpOHYLfExrxK0QpgFjQxW2c7TZCji2lqV39iqOq+ZTSKqSz4V7s9UDtwyObsoihYndt4cOnlezh8OY3Fjs8o0TOiJDI+0wZMAxYymYvuSyVVYz7qVd/5fUtKXMx2MX7Bdsb1ENiD4PpNTrAwzf0vQeuxBHajId0e9d++TuS4x6G9+1irWSrHeeTKnvUoXwhdq85BC0XfaP49viqZavkwwf8SR2raknS2DHX1s0/aMzJ4/cEKc0fDEMRTfpHcA85DzEo24ZEX9z/Cogf5PxnJSgQi15ig9dSWErbAlbLlA5GP4HNr8QBr0GnJAsfVBqqJLUi206hGBslA+4W+lDvnOLNLFSMxDDYNdAVwLRDJMdM+Tl0G9KWo8mTyduTt624MAWuMIZCBTleC+uY8qAgVp5YpGPvlMQ9ftalzMrOJqYigmnzCAQCo4NnLy3c1TPv2eBwo+XSnB8MwVG6weaRJqLE2RIfiMHs5Uy3wgRmhNVDXfzoBfqkWpeaqAFQIIKYWIxoSUX4HobbsrxZRdwao6UJfGiG10yntoPsN1ZXBEN/URmXymEwGZ0OrKGQx8Etitr3reVaIulqLPdOs7tk7XD1mZVTB1kY99S4gYGqB6qmGWQA== 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 4/1/25 09:56, Paolo Abeni wrote: > On 3/31/25 6:35 PM, Alexander Lobakin wrote: >> From: Toke Høiland-Jørgensen >> Date: Fri, 28 Mar 2025 13:19:09 +0100 >> >>> 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 the >>> 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 DMA >>> device on the subsequent page return. >> >> [...] >> >>> @@ -173,10 +212,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 */ >> >> Have you seen my comment under v3 (sorry but I missed that there was v4 >> already)? Can't we just test the bit atomically? > > My understanding is that to make such operation really atomic, we will > need to access all the other bits within the same bitfield with atomic > bit ops, leading to a significant code churn (and possibly some overhead). > > I think that using a full bool field is a better option. I agree, it's better not to overcomplicate a fix, and we can always return to it later. -- Pavel Begunkov