From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f53.google.com (mail-ot1-f53.google.com [209.85.210.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E4CE36683C for ; Wed, 4 Mar 2026 03:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772595310; cv=none; b=LiUvUy/2nsVxWHA8sILe2dI2++Z5sm1QErlppb22VO4zeQqUacsmo8VciP0ldLn+rucvrBgWaZJpUxZSVYfwDXAxlSkjTPglmM/N3bBUCs1OZyNwTmG1WUXoInznCV3yFe5TrBaYeSXy16dTFTN+ewsm1axtyGe1HVbYCs8AFM0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772595310; c=relaxed/simple; bh=XLiJ2nD8DJIVsSYbftRzQJ/qqbqmFgul82tptWrTWOA=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=FLYgtUtzgQw/Cy6q3zLT5Q8xAcePEW+vJ0VwrnJwlqgD+zdGma6Ov6s+6otTpNvAuE9U6XbzTsiCSKSLnsmVPw+sb4OstljY9QZgnxjLWPuOK6SbbO5j86SyRVHfyYR95v0KX23Y3vqaBlyvPNRkGSI7sn2EI4pCbbe9PyhJ79o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk; spf=pass smtp.mailfrom=kernel.dk; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b=V/RVqeIg; arc=none smtp.client-ip=209.85.210.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kernel.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b="V/RVqeIg" Received: by mail-ot1-f53.google.com with SMTP id 46e09a7af769-7d4c383f2fcso4377067a34.0 for ; Tue, 03 Mar 2026 19:35:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1772595307; x=1773200107; darn=vger.kernel.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=NrE0zI+7ilR1NedBJHHio8t27882PDymrHrpls6UPoo=; b=V/RVqeIgbll4o4ue74s/NYWOyn6ZZujuTFopUtqhjail3GEAE5/viHb45qoLBheA0C FjThpB0c+lktkioT8cLcDCupPIwr6ZtFjugZdaWmjPYCZvExg28dp2j5GNZKC+dwFIRT nMYTLvuq7I98ei43l1fO8SZa0kkKx926Q5k3OSaMudvEhiEEeEmS0+UTFtTKWPCx5BtH jppJ7leZ920nl2rr1NSxO3EsCbm7kJQgCQktDg8tjxpMgjzbh601eaHfku+ZFLcNfn/I i2IKtcx8h6KQ7DdzF6qyt1xEaUJ+G7gmzB4DX6DIGKuctT6KVr0ZXVqee2uy5eeWmU1x Tdcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772595307; x=1773200107; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NrE0zI+7ilR1NedBJHHio8t27882PDymrHrpls6UPoo=; b=DWYvvoO00cyrxReExAV3JU5rPsWSEFz9jY6JIQMGRZ3nUgwdzrihBTHGivAFgK5LE9 aiqjiq5PLHRCZ7S2KBZvBObjl23LYCmecNUYr335j5GI41T0S5nmUJjTBbgvzmn7lTVa /tMIQUrri5QraIZDkvqxYHqseSQOMnZt+HMBMpzC19ClPG0tZr/JXF7TQA8jbXQElIBp TYeWeCgp62Nv/uNQmrMdYm/Zwr2CpI//EpxeewVgiyRr8aVV4kUOBLet2Legpx1MifQu vSvpkSLtOv130maMhRx6Cd/wauB6IhPeorqTSv+eaUNz/a0UHlOe/THTeo3sp2Sp6isV a1Nw== X-Forwarded-Encrypted: i=1; AJvYcCVgDImHEWymJ5ZRfA+MyHn/ulH1rQ5pLwytuEaa4bG8BqERfZZaSSJoxfmVXozRyM2qC9NyJN6TV60elSE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7w7Ot9XBpICLpAwabvFvk+mvMG6pJykPoG4bYN5hTobZZBoqS PLxAsNoFS5/4Bdt1dSqYaGtQnXWpvLLdiBoyIwq9Shw97HnSB+kzlUsqo93iSznRAAU= X-Gm-Gg: ATEYQzzEgUcns6tT0jGgn/hvLCWAbdo6iDagWae9P4msjMB+y4gb1vaSYaEla7WaWT6 YUbx8SboLphQhVwJGNLI+LEzW9v5J45WZOJnQXBGpKTJjtwxkmxFNUh+1EZAWtVbgCWe7Toygjx 6yfk54BmkgayKElpG1bTXxLs/sl9Sg54sD9C48DVpKor1IQOiTjMNDVhldAWknCZkMD8oa32+xv fjRHkeAeOodip3O81CBlEbpUTnfUzdM6qNMpszHbg1+kRbCQZFQJDqFEbyCa6VVdiqgNLfhVqhl nMypR3rocjv+RNigKewxNd+CG0r57d2mDCzkoUBWqgguf4/zkksiOQNCuqxl0qAlHQYgF0A57vp h4QV95Iy7CT7r0Bd9TD7CCKr/vQVQnQ2soXZnCEv9NnVpi8LlGmFzyCDVSHlxC6pC/3nivGdMY3 sct/G9D+X2LbjES+CmOhkXqvgvyPPmrnu+1zKH+HzH08s3czqw7ozIKCGbxFoqEFBK1QR/2TNS5 SQNYvIlJg== X-Received: by 2002:a05:6830:6185:b0:7c7:6977:17cb with SMTP id 46e09a7af769-7d6d139f788mr450044a34.21.1772595307034; Tue, 03 Mar 2026 19:35:07 -0800 (PST) Received: from [192.168.1.150] ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7d586653f6asm15202012a34.19.2026.03.03.19.35.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Mar 2026 19:35:06 -0800 (PST) Message-ID: Date: Tue, 3 Mar 2026 20:35:01 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 0/8] mm: globalize rest_of_page() macro To: Yury Norov , Sean Christopherson Cc: Jakub Kicinski , Andrew Morton , "David S. Miller" , "Michael S. Tsirkin" , Theodore Ts'o , Albert Ou , Alexander Duyck , Alexander Gordeev , Alexander Viro , Alexandra Winter , Andreas Dilger , Andrew Lunn , Anna Schumaker , Anton Yakovlev , Arnaldo Carvalho de Melo , Aswin Karuvally , Borislav Petkov , Carlos Maiolino , Catalin Marinas , Chao Yu , Christian Borntraeger , Christian Brauner , Claudio Imbrenda , Dave Hansen , David Airlie , Dominique Martinet , Dongsheng Yang , Eric Dumazet , Eric Van Hensbergen , Heiko Carstens , Herbert Xu , Ingo Molnar , Jaegeuk Kim , Jani Nikula , Janosch Frank , Jaroslav Kysela , Joonas Lahtinen , Latchesar Ionkov , Linus Walleij , Madhavan Srinivasan , Mark Brown , Michael Ellerman , Miklos Szeredi , Namhyung Kim , Palmer Dabbelt , Paolo Abeni , Paolo Bonzini , Paul Walmsley , Peter Zijlstra , Rodrigo Vivi , Simona Vetter , Takashi Iwai , Thomas Gleixner , Trond Myklebust , Tvrtko Ursulin , Vasily Gorbik , Will Deacon , Yury Norov , Zheng Gu , linux-kernel@vger.kernel.org, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-block@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, dm-devel@lists.linux.dev, netdev@vger.kernel.org, linux-spi@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-nfs@vger.kernel.org, linux-crypto@vger.kernel.org, linux-mm@kvack.org, linux-perf-users@vger.kernel.org, v9fs@lists.linux.dev, virtualization@lists.linux.dev, linux-sound@vger.kernel.org References: <20260304012717.201797-1-ynorov@nvidia.com> <20260303182845.250bb2de@kernel.org> Content-Language: en-US From: Jens Axboe In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 3/3/26 8:32 PM, Yury Norov wrote: > My motivation is that it helps to simplify constructions like this: > > - loff_t cmp_len = min(PAGE_SIZE - offset_in_page(srcoff), > - PAGE_SIZE - offset_in_page(dstoff)); > + loff_t cmp_len = min(rest_of_page(srcoff), rest_of_page(dstoff)); > > Or this: > > - if (folio_test_highmem(dst_folio) && > - chunk > PAGE_SIZE - offset_in_page(dst_off)) > - chunk = PAGE_SIZE - offset_in_page(dst_off); > - if (folio_test_highmem(src_folio) && > - chunk > PAGE_SIZE - offset_in_page(src_off)) > - chunk = PAGE_SIZE - offset_in_page(src_off); > + if (folio_test_highmem(dst_folio) && chunk > rest_of_page(dst_off)) > + chunk = rest_of_page(dst_off); > + if (folio_test_highmem(src_folio) && chunk > rest_of_page(src_off)) > + chunk = rest_of_page(src_off); > > To a point where I don't have to use my brains to decode them. I agree > it's an easy math. It's just too bulky to my (and 9p guys too) taste. The thing is, now I have to go lookup what on earth rest_of_page() does, whereas PAGE_SIZE - offset_in_page(page) is immediately obvious. It's a classic case of "oh let's add this helper to simplify things" which really just makes it worse, because now you have to jump to the definition of rest_of_page(). IOW, just no. -- Jens Axboe