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 444B0C021B8 for ; Sun, 2 Mar 2025 02:23:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 480C26B0082; Sat, 1 Mar 2025 21:23:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 430D26B0083; Sat, 1 Mar 2025 21:23:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2AB906B0085; Sat, 1 Mar 2025 21:23:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0CAC76B0082 for ; Sat, 1 Mar 2025 21:23:14 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7ACA6162899 for ; Sun, 2 Mar 2025 02:23:13 +0000 (UTC) X-FDA: 83175013866.15.AA4BD48 Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by imf08.hostedemail.com (Postfix) with ESMTP id 70881160006 for ; Sun, 2 Mar 2025 02:23:11 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SOB2M5G8; spf=pass (imf08.hostedemail.com: domain of yunshenglin0825@gmail.com designates 209.85.214.194 as permitted sender) smtp.mailfrom=yunshenglin0825@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=1740882191; 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=bIgb5oCKHg0d8J0ugu6ecAoU1ogbWalfHnz6Q8BvygU=; b=46a4ClraxInUGYsOuboskvWVtOo9AWPTRi9ruspuaLRp0S6t93wXV0iRn25UUml+HNul3j sQPlhj3dMkkxClM2TmDRBmLw7j5sFvNDEFb0WR+c29S169KioPacLYdGNn1U4lAFcTL/Or gcy+SPAyR9JUqP0F/seGUK1EIKo4gSo= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SOB2M5G8; spf=pass (imf08.hostedemail.com: domain of yunshenglin0825@gmail.com designates 209.85.214.194 as permitted sender) smtp.mailfrom=yunshenglin0825@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740882191; a=rsa-sha256; cv=none; b=lnF+pNAJqK+54QPS7dqedPTpB1A4sj4E6/9XNyz9zpXla5hkMzu/ibJnVmTI836qtdLm+t w3rWtqP1CgQsIHmxEljcjBIXelqsF1mmKaRwLLVD97AyQ5xB49buMz3Cn+FXinnodtmelC pEVMiqos7PhFVRPVlxYt2LZZKjM4AhY= Received: by mail-pl1-f194.google.com with SMTP id d9443c01a7336-22337bc9ac3so64222485ad.1 for ; Sat, 01 Mar 2025 18:23:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740882190; x=1741486990; 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=bIgb5oCKHg0d8J0ugu6ecAoU1ogbWalfHnz6Q8BvygU=; b=SOB2M5G8KPHeIH9kF8xmJEsx3oOwZn2YVkQN8D0ZIAf1jQI2fWhg+ny2L6/84Z0Qoj yLDreXXsvNAvITLIdDGdhoNTEOXCBynPVx5UH0vVzh8EItnvkOhcX9OLX0l0S9WhOCvz SD2pQYIw/o2wBZCWveIX4nkD/sfpi+QRfKskbCcPlUoKPZaOR65d8xXpX1Fqk6nnuKS2 IBUU2Vgq4yFfcdktTQrWrRJezkladk2LsDmmobtl4KcfO8gatGB7nI3ZOLpmLXzFhoOz AkUd5zzUmSzGIubn2AmEJdUdUytB/bJr0ujTn/O3WAZ+uswc9cZ1fznhpy03o4EKzXCQ srQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740882190; x=1741486990; 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=bIgb5oCKHg0d8J0ugu6ecAoU1ogbWalfHnz6Q8BvygU=; b=VvwdCvtHD3bAxVPG8RKztwtfPflAobb1Tku1ZRXby95wWNJosW+RL1sq+bFaAIYI9/ gDrK8mBlw6RTNTwNB8pm4Vfe6yxbUKmlAAlZ4KxDmEWSQ5DZLDOTcE9hkmUIU0Q6iq1v y69H6/kCoWlILf9/SvlkmMV/cw1XI8rCpVfXs6bTMUB5iSp4fIeIypar0Jpzpe4M9GGU wRbt6fE5pdnRdz6TUNkeFBfdkidvkozfw3xF9M2HIT20PULFyni2kW5hfdJaHi2P/k46 EOahnr2bixiC5qYy7SqI3aFYDroUljjsBgK1Y/pf2NLE8OlbNEhQN7awCSpBXdaB+RLN m6jw== X-Forwarded-Encrypted: i=1; AJvYcCU5Lgds6wZWIptMPcVQ9iI6CGPHYyST+uIS8EnrZhLP15t7URJOvzvEzzh4hRGYfY4MFaz+s5ZA8A==@kvack.org X-Gm-Message-State: AOJu0YwrccwFcDwQoreIfufW2gMLVfLOUjoeAy0RkukBranWmhcxNMBG mmt2dTRgrpWmRvcEwG6Dkm/e754pJKYobFg0335ZjNLTjApT13DQ X-Gm-Gg: ASbGnct48Saa6bTy20XQ7NDQE2yKj9bxqbPzC0wlwzu/ap2EE+hwMfl3UHSnwiDvp8I CTURGoSg0NvOsoOnFzvcjYIZmKXYe0yuxjJeIHSkRSkIndPZMd2h6Dc8beckElgCvhv3kCT1vF9 QA4iQTP3KP7k1y4HK7wD5zSsOmTX1RWIMRakBXPwj87bCI9Tjl5/LZMtvYKRO1Z4K/TKc/bxLMZ fNp0QfI0hYSF3PSVkraNnd8toWcLE2ujpATgFuiSfkXjT8WWKt/eunw71MeWRb4h3ioyqheQ0qD 9Je0XvWWsvoIabK8H0C3ByBzr0qwavBKHysJVmQJR47yfDUxpCLaszZUSin54J86dS/7GZimlTZ 5Q/AGkY9qZar1fkHyADiwowwqnQu/mx2m X-Google-Smtp-Source: AGHT+IF7Tj08QU1/XlQt1s/pvFZTEEH8FOsLcUTfASRUZhpzzuMZ+JW2GadNl6cju1yKvhSSnz94fA== X-Received: by 2002:a05:6a21:110:b0:1ee:e655:97ea with SMTP id adf61e73a8af0-1f2f4e4e782mr15784551637.41.1740882189968; Sat, 01 Mar 2025 18:23:09 -0800 (PST) Received: from ?IPV6:2409:8a55:301b:e120:3115:39d1:77ff:54d2? ([2409:8a55:301b:e120:3115:39d1:77ff:54d2]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-aee7dedea46sm4862492a12.67.2025.03.01.18.23.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 01 Mar 2025 18:23:09 -0800 (PST) Message-ID: <68f83951-881f-49a6-8599-e47956b984fe@gmail.com> Date: Sun, 2 Mar 2025 10:22:59 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [EXTERNAL] Re: [PATCH] mm: page_frag: Fix refill handling in __page_frag_alloc_align() To: Haiyang Zhang , "linux-hyperv@vger.kernel.org" , "akpm@linux-foundation.org" , "linux-mm@kvack.org" Cc: Dexuan Cui , KY Srinivasan , Paul Rosswurm , "olaf@aepfle.de" , vkuznets , "davem@davemloft.net" , "wei.liu@kernel.org" , Long Li , "linux-kernel@vger.kernel.org" , "linyunsheng@huawei.com" , "stable@vger.kernel.org" , "netdev@vger.kernel.org" , Alexander Duyck References: <1740794613-30500-1-git-send-email-haiyangz@microsoft.com> Content-Language: en-US From: Yunsheng Lin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: x8ygwxwycx9fi7kkamk716ji3znztsrz X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 70881160006 X-Rspam-User: X-HE-Tag: 1740882191-293980 X-HE-Meta: U2FsdGVkX1/Rd+xGv/bcSbWD0RzyZSr+tL4QAEB+n7i2CvwuBfnjS7wBQg9bGnO89b581OTB4FY5xAPX6uXSDVxIstxn2C2jUUs6WYilh0JWeFGdPJ1rwvqSEIm006np8q762kBKAAK88ex11YLSnQKgFPWB/RRmhgJyVML6W81OfuvFfR95KrnPyECwMu/2S769tmj2PRMYdJwbg7XIUTdCNszstegGpxD17e37GpfJcwtJrY6uwWromUW3kbCa8LVhrEbVWw9AfxEPhC+aXECDMnX7FajIBZYFMvndwcGobjgONfWvQZ9LnO+xoqkq6tnvOWRe71aC867HsdQF3QkDS+R5UPUkkPljuxLIYrxna7oQbUqEiB+guVXIyW/2wrow0WyQUKaY4cR3Ag28Vu0i15d+u/5BJalmqRj+k6YvO2XhbhUpvch0wrq25VT3HcXh09dpT58Ymsy0nWEOShHn+507dMMpw+r96dnqA4s5JpgH9oS01Op2XKNGP0r8w8xMw+Fopb5lRVSo7njPRGEJhFIFig+k8IJr5NWm6fUhSpHu6ripJRRn0h3rjgiQsh9B4wlgiGN/GWxjQQhehD1lbXZEbj3lqinX3yh3DUEfJY2bGYgCduF4aPG3GUkCDPd9cQiPZmqmlmD+1fxPuDiueeGrjQVSyf+ZXGwgFF3OkB7EOm3NXM4v3u8h337yI6u4I+68bmHPaLFEZ+ndKijA3TvwX2wc6m3WpNBtO1jUl0qHGiZTl6H3fZ2KmNF7Qi4fzJTaJ1/74f5WVaM8dsqj6Njf1ENVWc8qMtmQisoBCTjMsqqPHG3DDAwF/skRHkpn7DjstRRwHxIF1wqMxnV7MibxHBhYe6s0I+GUXS71g+BjeMECJUCcFqe7l8ZjMivNyBpP0rszUIK/zJHzDmRG/m6Fw2+RfmbLotbwy3LkwCWF1FscozdFgymibRjxSDMjb7Ob96eJbcegKYm NyeyB0qY g5tXoo+GLywV9/w6ePto7C9BA1JiMkWbVio3FfEedKQjnXc89vTRYnrs8/EtnN3mYvKa3gkXBYw6R6QF3bqiaFA/G49w082NfwLbbIBN0mN+bKZshmr9dX6NGxGgmDXjwa5BQJAI8LFMgkFqhdt7ABeYVjBh46wmr59kLFP6ixySA8MQyxcUDgYe88H3KdMk9+9B0gG7XJ3ddc1Zg2cyu2zqq7CLDY8zyUk04C6UWVrGEkAPlsGbAywCKvJiuqkMtxAQrT+lD02qZ2dRvFTYClOAjKNZVLKJ6Wq65Bdr6pBkihWO1chCOGrkdkZzydQUxQcuw1WQPXM2+4pdn760VCJ9KNF9QF2qN73OWWmrzxI7q21KE4up3TVbPwjoM3NNAibdJaoeHqvm6vrBKBnrAgnaYShzVNPMfOA+2cfx/JV0T+SWHmwwORlIqSSXzAcKRBEMFJa8R+FCNzPlv5Y44ppogd6feEGr3w03z1qnr/mewPEioD3yIlstUGkQZl2i9qQRZmx4XX1hzMikCugBLVQ6viA8TSjq90VWn/VrIg7VR9ZHv9TVGBfmCTi9OL8BWwEYJhhA+QAaDUKCf1qwlbzza12ai3kLnvtlDXWSdvWFA0w7gYI+ulxPlFHKwYUStvL+CJ34tFFL72K7EBZO+wHR+fBkHlpfFVbd2aX4mt/Qlyvi7FcfudTo4IPrf4WUsF8/251AZM1sV6bfFnfcYmzS9jpwJan0jOTcXPySUWRpsSwrlh7R9i5HyfcJJXw6Pisr+xWhu8T2k5HkNr5MQQ+CWvdob6M4b7WZv X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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/2/2025 7:16 AM, Haiyang Zhang wrote: ... >> We are already aware of this, and have error checking in place for the >> failover >> case to "base page". >> >> From the discussion thread above, there are other drivers using >> page_frag_alloc_align() for over PAGE_SIZE too. If making the page_frag >> API >> support only fragsz <= PAGE_SIZE is desired, can we create another API? >> One >> keeps the existing API semantics (allowing > PAGE_SIZE), the other uses >> your new code. By the way, it should add an explicit check and fail ALL >> requests >> for fragsz > PAGE_SIZE. Currently your code successfully allocates big >> frags >> for a few times, then fail. This is not a desired behavior. It's also a >> breaking change for our MANA driver, which can no longer run Jumbo frames. It seems there was some memory corruption problem that may caused by reuse of the previously allocated frag cache memory by following a LARGER allocations before 'using initial zero offset'. https://lore.kernel.org/netdev/b711ca5f-4180-d658-a330-89bd5dcb0acb@gmail.com/T/#m12ebdefb8ee653b281d477d2310218b4ac138cde 'using initial zero offset' seems to just make the API misuse problem more obvious. >> >> @Andrew Morton >> And other maintainers, could you please also evaluate the idea above? >> > > And, quote from current doc 6.14.0-rc4: > "A page fragment is an arbitrary-length arbitrary-offset area of memory > which resides within a 0 or higher order compound page." > https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/mm/page_frags.rst > > So, it is designed to be *arbitrary-length* within a 0 or higher order > compound page. > > If the commit 8218f62c9c9b ("mm: page_frag: use initial zero offset for > page_frag_alloc_align()") intended to change the existing API semantics > to be Page Frag Length <= PAGE_SIZE, the document and all breaking drivers > need to be updated. Yes, updating the Documemntation to make it more obvious seems like the right thing to do. > > Thanks, > - Haiyang >