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 DAD1EC197A0 for ; Thu, 16 Nov 2023 19:41:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4D5536B0271; Thu, 16 Nov 2023 14:41:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4858D6B0497; Thu, 16 Nov 2023 14:41:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34D226B0498; Thu, 16 Nov 2023 14:41:38 -0500 (EST) 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 9A7386B0271 for ; Thu, 16 Nov 2023 14:41:37 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 75B1BA03F4 for ; Thu, 16 Nov 2023 19:41:37 +0000 (UTC) X-FDA: 81464837034.24.F70F274 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id 7BCB71C0015 for ; Thu, 16 Nov 2023 19:41:34 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Dy94xOtc; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700163695; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ri1OUYfeB6un/pQ9MDSMKyqtm4r6z514s2TDXJOWFn4=; b=Jy3wYL0MwVTu2XqWEH7kh9DzOvh4xmYo4ZPlwpSqbL/mvhDGHlYeT32s8FX4i/r97WDnke dGHOiw1XgJ2wukUEj2mfGsE8PBZrKXKm+tKWdPnGASHES/ZTquRgCGZmTWXRFW/asN2qxY HIflhTR1XumiheK2R4cDQ/XJOnc1rSI= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Dy94xOtc; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700163695; a=rsa-sha256; cv=none; b=VWTzkhPa6Ep4b+GUe78ZI8WtJuE9+F3vab281dgFrrjsNRj6nqd/dvkfC29SXtE0D1akUc P8CoXPoCdgX/G6TLZwnTa5kqYgxCnVtxwWEFteJe/h35drnCo2Tvn7bG/7f4lotjB0I/BS pNsK01/3vRXDSBginPBCXs3xtaQMP+I= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=ri1OUYfeB6un/pQ9MDSMKyqtm4r6z514s2TDXJOWFn4=; b=Dy94xOtcCY9GChQwtWnMZGS3go hxmAFND9w9PN992qFoz294Dsdc/k4wKcFCVPsgjs+egkzP37et7DcVPF2octLTyl9m7tE3b7FpRBW iZ3K+ieHfnjP4c/fgfqPqqra8qvtQ6/rb9ml62LOTsxZFteIt1CtWCHWNjoStJZqR192t3ZezVfjV WgIfA5QYMqyPJw34jcqwl8uYqrXiMtuIi3E5pvvI0y8jSJlGGTiHRRkiaZjcOTTL/B7jsNE62BTTK C/f2CfquinH3y4Tz4Acfc5t02ZYx4a5o+f8GGD9zT+la+I+cmIVKchs8jYQBLQAeUwRP+Y7hIqBGE 3WMZfS3w==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1r3iEw-004ugH-GB; Thu, 16 Nov 2023 19:41:26 +0000 Date: Thu, 16 Nov 2023 19:41:26 +0000 From: Matthew Wilcox To: Peter Xu Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Mike Kravetz , "Kirill A . Shutemov" , Lorenzo Stoakes , Axel Rasmussen , John Hubbard , Mike Rapoport , Hugh Dickins , David Hildenbrand , Andrea Arcangeli , Rik van Riel , James Houghton , Yang Shi , Jason Gunthorpe , Vlastimil Babka , Andrew Morton Subject: Re: [PATCH RFC 07/12] mm/gup: Refactor record_subpages() to find 1st small page Message-ID: References: <20231116012908.392077-1-peterx@redhat.com> <20231116012908.392077-8-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 7BCB71C0015 X-Stat-Signature: oobr1hoaim8nckfap4e5wnr9zu9zzuqu X-HE-Tag: 1700163694-667239 X-HE-Meta: U2FsdGVkX18mT6dB22BusBjVgCRTAaIPsy3+zO1xS1G4kOMoUZNc09Qq6pVNeKhPrGULWxCr/2RH7bYnx+sSNUC3itGb3jBYQPB1HJdVZeAL+T7aX0DVYlL8u3M7PT74sxgOBykrQzaBB6daCCS4oiQNRaNi8JvZOg+9D5GQ30VX9EfXTL7sCIFSJOVGNPLgvqeywJiOW4Z+ZOxxCp1H+H/u2CkbnW2g6p4SdENRXWaRPlOmqda9Ce+gQscNVe+Bm6JWN3lLEOFz2vXxkhsIealyyCWAw7GgkyDI2Wj/HSUYTh56X6N8tYF3beam0sEOSeAJVaRkFkutTZaawzACIXN5oN9kd8U9ZYo7PAeIsl7b6CP+hTz32Zi3gjexqtyNbuzg9CN+UERi2FwJ3OL7GJ2nFrnq99sYuqAcXunespnl9SwyyHD8ZRht2EiPqql2aIrjo879bODrlyJLBdVM2uDXbOvh5hAM2IKqXppkbit3RPE6A6E9A9ZgCnLH5a/hv8u7MMpvbvoHd+SMLCWCIWmDGQucFvSYHHYcj92Jrk2oPXOvG8nRvoHwO4NrPuGmh7ugg7q6ezKmJROiG42o966Krhawh4kAbfU6LRRAbDk7fvhVe3rtfN3sJabg4VU0vgH1K5jkesNoNiMYwCwlXYEvYgKCYdPb3A90vHGgtms7TsmjXLNGy88U4hOn+7DsJt3xezU9m0hv9JBQoozjaKRnYiD3OlMKgei2vDbFAaEF57rHWoOhN2ohNSB18wsidNW0Nl6awytDpq+n9FvCa4MEFwsPiE6hhjrG++JSYn1juMU/kMAyphhv3UEu2fFIGLVNLVmk+Qo+IUmZTyBS/GgEtbgth8Wer0HbbKitHD+PRG9AlfBvu+BU5TcaLW1+XFDNY9m0oQUOvxBsi+lX6J4zJOs09aHyRw0H9+LHO8bsRr1m09dKvKWXJE9amByUfT+xAK24OOME3N7KujA REV2yHx9 3Goelw1F5GyYkrqVPXLTLMh6mUZw+Bg1cYeUeBHCSpD4HJDGTMKbUUNaNUBOsZypl+Q2A0Okg42eV2O34iIizAWBAjv2fF66FiAFSVhsi2FL+lqM8NBz7wBAZja61MPJDbPB24ggHBAoVDYzNkRffFZMUEdPohsw/fpnorVGRQbGr//FrHvu5uH4AXfjDFsy52KWV 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 Thu, Nov 16, 2023 at 02:40:21PM -0500, Peter Xu wrote: > On Thu, Nov 16, 2023 at 02:51:52PM +0000, Matthew Wilcox wrote: > > On Wed, Nov 15, 2023 at 08:29:03PM -0500, Peter Xu wrote: > > > All the fast-gup functions take a tail page to operate, always need to do > > > page mask calculations before feeding that into record_subpages(). > > > > > > Merge that logic into record_subpages(), so that we always take a head > > > page, and leave the rest calculation to record_subpages(). > > > > This is a bit fragile. You're assuming that pmd_page() always returns > > a head page, and that's only true today because I looked at the work > > required vs the reward and decided to cap the large folio size at PMD > > size. If we allowed 2*PMD_SIZE (eg 4MB on x86), pmd_page() would not > > return a head page. There is a small amount of demand for > PMD size > > large folio support, so I suspect we will want to do this eventually. > > I'm not particularly trying to do these conversions, but it would be > > good to not add more assumptions that pmd_page() returns a head page. > > Makes sense. Actually, IIUC arm64's CONT_PMD pages can already make that > not a head page. > > The code should still be correct, though. AFAIU what I need to do then is > renaming the first field of record_subpages() (s/head/base/) in the next > version, or just keep it the old one ("page"), then update the commit > message. Yeah, I think just leave it as 'page' would be best. Thanks.