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 EBFEFC28B28 for ; Wed, 12 Mar 2025 12:53:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DEF3280003; Wed, 12 Mar 2025 08:53:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 18FE8280001; Wed, 12 Mar 2025 08:53:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 056C8280003; Wed, 12 Mar 2025 08:53:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DCA9A280001 for ; Wed, 12 Mar 2025 08:53:04 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id BDEA781128 for ; Wed, 12 Mar 2025 12:53:05 +0000 (UTC) X-FDA: 83212889130.21.CABB0EB Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by imf02.hostedemail.com (Postfix) with ESMTP id A821680011 for ; Wed, 12 Mar 2025 12:53:03 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DwmOeDxf; spf=pass (imf02.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.221.48 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=1741783983; 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=AxOFRJ5dV1MqeOPQPfMz3AS99k+2/1/mIifOGYFraVU=; b=seDWRh2kjTPh5PwOUXsXuBpDtADnmyYPx1/1yoz2EoL4d+TvwjQTktQFD5lh01DOdylffz w7tDRf0yqh0B6YuwibZkxqx/8mbLUKNTdbp9+ibW/V0O7cnMOElHBHbHj9IqQqkj7KL+et EqHbpNNz+5Rd+WsU6DTr9b1X/yctRQ4= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DwmOeDxf; spf=pass (imf02.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.221.48 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=1741783983; a=rsa-sha256; cv=none; b=c925c7e1cRbQOZ6mpnftg/5n+0L1p5kK+083x7aemNyJv7ZOfZW4gz6a5R3XOXuW7XPOJB ruvRzachym4KT3C40vBt2UImDmfL0k9HPHM4nzMYYOaqOKeK3Y9k5mP+T+z6syxNtSeVrm 7wZTiWc5qJ43epPfDvCQr+TCxa/gn0k= Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-39133f709f5so2724931f8f.0 for ; Wed, 12 Mar 2025 05:53:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741783982; x=1742388782; 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=AxOFRJ5dV1MqeOPQPfMz3AS99k+2/1/mIifOGYFraVU=; b=DwmOeDxfDmhK7Niv3ChkyZh6RtcpS3p8Il0W5PE8AQG9nIhDMsA+wq+4+WFJmLBPRe N6Cft+lAJkpnb9NJzhMMkvx9fHZcynMCU1gqA1eixJ0TyMmVNzzax7C1epjPRlYg0jBg NZSHtBJa2/Dy6I/ZTOQCfJfIeqvmH4g9zBaKN9NvJdpJHfolr/hKx6A56iYOdeiGRLmp uF3xkC2xiHrBeeRq9u+TD/FDW6XLpRzzS0MmEcJwL7XVd1bz3HLVe06s/MSwp02jFUOQ vx6QGm0ET9v+2AprtOMHjfOLahSFNMg/wgvOvRMKcSQlnGRmGvfx6KSYhWPl1QnCgz3H g5bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741783982; x=1742388782; 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=AxOFRJ5dV1MqeOPQPfMz3AS99k+2/1/mIifOGYFraVU=; b=pS+V2ZXJ/98Ejq7ghWyrpiFrLo5Pdg404helsCMHh9QDnHxrxLs8O7vrwJjvnfJZJy Mn23VI9juO8ua1vZkPXpIYeTdAjGokxKZsnyfulwvscJlRf1JSybZQlHnKSRlN+ywegb hH9XTSBePk7fshzOmN/ioqLCbPm7GYWcBHTSHyLYauCKqQNntBI61DMLHd4AsEUn/J4P ROuP8v/OEJD76IiMdD3W9BM9rdE46ulLYpFbEVlWfuWsAa20wV85a24Hx6DMiwHjYQV9 IgadgUfdxv9cKAVY6iosdMrOhDvrcLy8oS5oMmkdOxdioacC6GV6pfCkfB6epEz4hN7u M51g== X-Forwarded-Encrypted: i=1; AJvYcCVoXDlHC60A8vqKdz0nzR05G84ilh+sZKqN46X3nOgMNoNUBHHiAEnn+ZByLTID83UvOtlrSqpEog==@kvack.org X-Gm-Message-State: AOJu0YycTErU2F/lbw9mHrRoyFd4R1qxsmphOsIcrM7jDFa3nx+fG1KG rlJTWzGxXSo8Lx5dFu52ALhH84AJjlR/a0lc1+ZFvkfQZ5JELY+0 X-Gm-Gg: ASbGncvZ5ZDLsQhAPKNaLlXXPeCoe+8Ogw1bb8KjvcHGIpQ0LONC2MHZ683UXMX95dO QiCLWo1zRZ2GS/jvHZKCmhi78j2YhhUppnJ3OER16B3ulNkHnjq8fyXFu9gwtmODyMLUsDccrYf 2FGQK+QFuBQbnQdv8DHSBdamvBc/NJ3lJCnXYr8M8C+glGlSG7xSff5E0iyuC9vzjkEM5yULkwk RmpUCFC5pcreLxsLF0nV5q9Wv09fBrx3SAsht11nZlHx+vaqtblpcwgktUSFQixxqAGeXexsyCx tRBstbd6JmR+JadUgRodVXfEOKgBfasgnpDdnsk83IGI1edPXLTWacW/CliMZbQYoULD X-Google-Smtp-Source: AGHT+IEEgWCjPXRghYAZa+gPXNihB2ZL++gW0z8f0e4WP9GqNq4b4nwhxd2LSxpTg+MzM8uZRnIksw== X-Received: by 2002:a05:6000:2c5:b0:391:10c5:d1a9 with SMTP id ffacd0b85a97d-39132d82751mr15752267f8f.31.1741783981903; Wed, 12 Mar 2025 05:53:01 -0700 (PDT) Received: from [192.168.116.141] ([148.252.129.108]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm20609379f8f.25.2025.03.12.05.52.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 Mar 2025 05:53:01 -0700 (PDT) Message-ID: <65dd1ce6-1ee3-4678-a156-244e6c0ca127@gmail.com> Date: Wed, 12 Mar 2025 12:53:53 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH net-next] page_pool: Track DMA-mapped pages and unmap them when destroying the pool To: =?UTF-8?Q?Toke_H=C3=B8iland-J=C3=B8rgensen?= , Yunsheng Lin , Yunsheng Lin , Andrew Morton , Jesper Dangaard Brouer , Ilias Apalodimas , "David S. Miller" Cc: Yonglong Liu , Mina Almasry , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-mm@kvack.org, netdev@vger.kernel.org References: <20250308145500.14046-1-toke@redhat.com> <87cyepxn7n.fsf@toke.dk> <2c363f6a-f9e4-4dd2-941d-db446c501885@huawei.com> <875xkgykmi.fsf@toke.dk> <136f1d94-2cdd-43f6-a195-b87c55df2110@huawei.com> <87wmcvitq8.fsf@toke.dk> <871pv2igd9.fsf@toke.dk> Content-Language: en-US From: Pavel Begunkov In-Reply-To: <871pv2igd9.fsf@toke.dk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: A821680011 X-Rspamd-Server: rspam08 X-Stat-Signature: g7cpe1gudeukkekuypkczycacmte6s6y X-HE-Tag: 1741783983-956152 X-HE-Meta: U2FsdGVkX1/MgkmHBSUWApIZv0zNA8aezN6JjFMyoD6fUkoIyFwNSXOBSY5xgR2I0Pe4zQ4xvNFWuHC2lue0YKxq8sYqlGl7621C/FfWtst8bqJk5rVUXQMxoxnRsCBsgiy7avTI809K2+kkQj7uA0T1HDSr/viQj9qsPP7uQFLGsTokAXIQwkJeqnofsnOEDj5o0NPUTAK02JE/IGByor0lYcRad38pEZW0Mb7v9z0evXc8XXoLcLf64ZqnDRxSexkGuP8h7HPHUggtlZgrodSfiXoWZteB0Y4x5PhTJ3lok+ul7VlP+Fa7y0kvsK2I7qKlBE70kGvT2Pbea8F53pzKvV50zusXhP9wu5MJni/PZWrCk6MwPEH2/PJQtR0l9At5GXAr1PL8//QjByGkJfQwEelb77SiAwWcaM6UtvwURH3KijpEp+l8LVarBv0zCDkdNw9MHuZ0a35bUxcbj+LGlEcbPZD793CqbNCBGAjaKDdpAZ6E35g2eLT+NE/34JxXRMyBfcTj3504CFu0IQc3nbu+zO9BagvuY+HWTLSFOyoJxggwICATKIChKM3DeVUeRN3gG9hdGyU46BT+LcZrPqSUB4B2pW3TvNMnCyyERetAz+SlVp278seUdqrtHDLCGVkHBsmUATEsU8JEnIexbq0JCPcNrxUZ0Ae3nprSzXTyXEJKNwzK0j2Crh2sbs7DxkjYJbh0uRdTkgI7iB928eq09lZvgpsigma9Y5xGWw67O7oM87n1MpvJXBlWbwY1vaWdyNDDyEvI8UJdIOe3yC2UEFeCOuGK9hS9pCEhZozNutgkjF+qZ02AxyVMJ/FPUmQhB4zRgkPONAipqjgR/oHX2C0iuJdsBfLdSxUB/0r+k4vwxeFmccN07CDipEIH956x0hPhy4s9gqJmSE4vPjtKfGrxvrw3kTd12L2GUqYuB1ZJxkE2xKz9DVTQN1RRENRgheTe9FLUsc7 FPeDG8h2 /0GJ2/dVJoWtJERsUQmEpVxzce8pSkrZgf5GU82e5pnlCqaUCRax5fr4mC99EFq6JL66M5d6YmFpoFV6vwadHNV9HiMbLUBH6u8kOFsm/5EPI6TVOKvSk58YAfhwyrTXNpoMtobdEi2XiJOhV1uYwt3R8kGmL4elZ/mLQIQa/4IZQtd+ELTS/bMvRq1ETQH2E7KBN7RQkxgA9E1lbS3CqxxntMHlk9jAjtcHcWe/GeizVIZkvHelAL00owRW5oE5LF26gndW+V4/iJiBHa2j6O/bb8dAZRirrsNGBWUhzc1ITpMOexXKAl0jpavj8pVjAd5tVwV0GNLzICeedjHcQczvGT4c0+3p5wf1UqrIDQ2YggKH6swE+wJSXG2TWCjoRcYco+rhzO5GOCLeRfKacKUXfjj3G33QNS9TNglLpa0KLcWZTNnVBOXWK8dEJBbcTfchyNMivJ4yYdRIBZIJ8dBXf6+JjmyaMn307mXwwLqJO4x2HzGe+ek2Zl9RVnIagLvCyjUAq3y7dQDlB0y/fu/DuqQ== 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 3/12/25 12:27, Toke Høiland-Jørgensen wrote: > Yunsheng Lin writes: ... >>>>> cases where it's absolutely needed. >>>> >>>> The above can also be done for using page_pool_item too as the >>>> lower 2 bits can be used to indicate the pointer in 'struct page' >>>> is 'page_pool_item' or 'page_pool', I just don't think it is >>>> necessary yet as it might add more checking in the fast path. >>> >>> Yup, did think about using the lower bits to distinguish if it does turn >>> out that we can't avoid an indirection. See above; it's not actually the >> >> The 'memdesc' seems like an indirection to me when using that to shrink >> 'struct page' to a smaller size. > > Yes, it does seem like we'll end up with an indirection of some kind > eventually. But let's cross that bridge when we get to it... At which point it might be easier to avoid all the "bump"s business, fully embrace net_iov / netmem format, wrap all pp pages into a structure on the page pool side, and pass that around. That would remove the indirection for most of the accesses, and the allocation can be easily cached. -- Pavel Begunkov