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 D033CCE79A7 for ; Mon, 25 Sep 2023 22:51:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6323D6B0144; Mon, 25 Sep 2023 18:51:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5E2366B0145; Mon, 25 Sep 2023 18:51:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D0F66B0146; Mon, 25 Sep 2023 18:51:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 3CC226B0144 for ; Mon, 25 Sep 2023 18:51:16 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 10BA3A073E for ; Mon, 25 Sep 2023 22:51:16 +0000 (UTC) X-FDA: 81276617352.01.91A0862 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf18.hostedemail.com (Postfix) with ESMTP id 724811C0008 for ; Mon, 25 Sep 2023 22:51:14 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fW8kU+Fn; dmarc=none; spf=none (imf18.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=1695682274; 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=fkpEMEA5GrodGGnTXvAzWVCKUrI8tAWka+urpqQ/HT0=; b=EDJXZBqT532260N5i1rawFlkhj8zQxmiFrdPZXwKmKrK5ziPJTEGdibPR4n+bJ5o3Iqn6q lA0LR3XL4xPbzPmPcbOv0e+WMcQ8UlamEjhmcZA06KRkYdl5Lctb/nFZ/xdkNHWfMtE5Dp cMiC6518jB1NcfZNvB5jm5P/h1nPJ+s= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=fW8kU+Fn; dmarc=none; spf=none (imf18.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=1695682274; a=rsa-sha256; cv=none; b=pzmPQDH7Sq/spNK/eCO3FerUbi8Cf+6iBGAbhGSS/QYXecyQgAIUWbTpNmnZrOQvoYy/sy kf0/Jdh+VGMUdc37aNSXADpeqxJ+3tsgNyF7DLOQutbfITQHHPNXd9n3xuc/d23RBX5XZw /0jlYXJ6aC+zceqXqi5zpzc2HVlDryY= 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=fkpEMEA5GrodGGnTXvAzWVCKUrI8tAWka+urpqQ/HT0=; b=fW8kU+Fnbdm+zP6pBUarKlT0N7 jjaiHlrjVoxGHFLkB9uLWHfdGX4E6MHfSnZZHVB69oZGq5z7KNriYlyK53K0tjzR6Zh49ceBDJzyp NplP8BnOUM9FByS5qLgA8RgZyVx2T67OCJ+jfwLh2+OavJogFSqrYmCRL28g70UOTmV1xtuRFyhsz CIIl2F3mVFXiDTZpW+W1K8LIhnjrE/jl3lkp1bsSkqvROQfz7g2hiGNaQnaL9EephW/f6o8mGwHaq Ke7BLp1J3J/R2AIYx+WPS8b06H9ac/K30HZtXCD2VySIYucaw6alemgfh2AYH+bNzwmkKAj8u4YBp dozksdjA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qkuPl-0048Wp-6m; Mon, 25 Sep 2023 22:50:53 +0000 Date: Mon, 25 Sep 2023 23:50:53 +0100 From: Matthew Wilcox To: Hugh Dickins Cc: Andrew Morton , Andi Kleen , Christoph Lameter , Mike Kravetz , David Hildenbrand , Suren Baghdasaryan , Yang Shi , Sidhartha Kumar , Vishal Moola , Kefeng Wang , Greg Kroah-Hartman , Tejun Heo , Mel Gorman , Michal Hocko , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 07/12] mempolicy: mpol_shared_policy_init() without pseudo-vma Message-ID: References: <2d872cef-7787-a7ca-10e-9d45a64c80b4@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 724811C0008 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: gcctfkhz36iarr5x3xz5i9hic6fr1ajf X-HE-Tag: 1695682274-398995 X-HE-Meta: U2FsdGVkX18E3p1bhVd2S5yldJgengKWC8eU3/6rLsFpvOuHrVhe1LQNhLOwhNOYmVWXreSLv26KvSTSSQ5qNrcRs51lTyeRff3sQWW7umG1Ve3+cNXUA3IDcqD7sgYjE50SCDeWmiYbvliyntkB1Np3vkvjtg5SLF08DBEjqHv8P/bxa2BZ0sVDqZ1yplpuqjJhmlQfySJDqm5avBWIKWzXWRrvWfZ8uW75XUj8fq9TbKt3LXf/JISxPuIHhesEfqusDMPc44Q/hF2Bg344tA6mgwz5aVGr7D4LZsCYnHaALmUCifKAMg6D48Fkw1G6SRLhvyLZx077uBaB1AONrD68apkJ76czd8xwCFaq0v2xWk+vy1n2Wt+cmdWg02bsHCAmwu+tGkLeiShybsQ6up/8Bbe1e50j667lBqdK4F0NVftUtFhsBirYvYd5/8Hh4JJqAk0AWYyQcTrGkUDiXEgua0+YoDfW6ieVWH5dzuYtAbvaXaWLbApnUtI4kUB/Z0iVzxMsukQxZi0nsy7gA59rO1MvNnVaGl67FpkILa1Cb9VEirF/q4u3z1U9NNywpNI2NVgki8b3syRam+zsYyVXmzbl2WD/JoBBiyXGnZEhnvJ+GIQkGZnomNEOpbFaXVRqkJWSwEPBYTXGeLVjWmhnThC/hAbSsjW4rALqnLhwNfFifr9qgFmHxC9DNyX26KiogXUvyoYUdGV9c0QZob0hGoCRzVlWufadJKwDfXqC/pnRwEHtCRNsiuhIvBrwIFC6UPr/C8poOa/b7Qkz6YiNH1yJtuQ1uS1em48AuN69h5OAPaIYWVPkUeB94/yI/g55NkB/6J/zmEKRzwNtOB2BOopAZkyeeTCpEhNso97jrNIDJK4/QbLjTQREB898wtgn1GoR1f63Oy+Nm+YBk8Embrs79mK3xPIVvKX+3JCA/FsUg/9Ed94JuM7HDk411rzilDoboZJuC75wk4L 86RasTrY L4WtecOZ8TlHOWYuiXl2Zr95BVid5CB6G0N3OEdyZfmiSCAkJc/XfVBs1LJ47eGfpK389+T1MNvz/G0mqWVdNDP7hy0uGMPjm+3fw5dxryKlZz5iTR5+N2Erkxtw8CZg0vtH7Xl6A3xJVT42mzss0aG9x4/F0DNvrRAPGhpv3jumvto7HpgRuKgwtBgWS4OzCEyY9/dYHaDxefsHlJKcSetbY5xMGUNsxHPFd3OdRk5ilcqSCSZFuSDgjHJ2FuPHQYJyu 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: On Mon, Sep 25, 2023 at 01:29:28AM -0700, Hugh Dickins wrote: > + /* alloc node covering entire file; adds ref to new */ This comment is confusing. sp_alloc initialises the refcount of 'n' to 1. Which is the same memory referred to by the name 'new' in __mpol_dup(), but in this function, the name "new" refers to the mempolicy called "old" in __mpol_dup(). > + n = sp_alloc(0, MAX_LFS_FILESIZE >> PAGE_SHIFT, new); > + if (n) > + sp_insert(sp, n); > put_new: > mpol_put(new); /* drop initial ref */ > free_scratch: This is all a bit inefficient, really. We call mpol_new() to get a new mpol, then we set it up, then we dup it, then we free it. It'd be nice if we could donate it instead of copying it. Maybe you'll do something like that later.