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 8A31AC433EF for ; Fri, 22 Apr 2022 16:23:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 216238D0005; Fri, 22 Apr 2022 12:23:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C5FB8D0003; Fri, 22 Apr 2022 12:23:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B6568D0005; Fri, 22 Apr 2022 12:23:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.26]) by kanga.kvack.org (Postfix) with ESMTP id F24B38D0003 for ; Fri, 22 Apr 2022 12:23:39 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E29F024D33 for ; Fri, 22 Apr 2022 16:23:38 +0000 (UTC) X-FDA: 79385035716.22.DC797A6 Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) by imf02.hostedemail.com (Postfix) with ESMTP id EF3FA80034 for ; Fri, 22 Apr 2022 16:23:36 +0000 (UTC) Received: by mail-lj1-f171.google.com with SMTP id bf11so10252801ljb.7 for ; Fri, 22 Apr 2022 09:23:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=MuBFrhJUOONLWXDwFhqBNuCDF96+pp+7LO7m7j6HVnc=; b=aPyjHIH15/ZlqkdljmCtysFMz1fao4RAeRNcVpZ8TybN4Ud2MluMCY5f73fNrXfypM HkZsnBpkUt3gU6bCETZbnfknjtQGlO14szjXMcnQb+BxiWvenyMTWGNt+pidsZwW+hGi QplsAf9EP/tHXtgg4EFNDpnvzNPcKezjH53i4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MuBFrhJUOONLWXDwFhqBNuCDF96+pp+7LO7m7j6HVnc=; b=xKjyEuJO9tdvNPAQ3mv7zHUWraJtV4a2C3gUZ5ATurbkoxZdXQRFjdJ6ZJ6IZGzRDa KW9EoHfHF+c3DM70ElRmQ91kOS6Wod0hSrn7/B0BkkJ42O8rnrufL6tdmGBqCTGeyUh9 SUcC0BXHzkt4dYPNto0WjlS0pUn/wuIhLAbifLwWN63bbcpugehSrkAXK+++dsvJqRSG vPiLDdi0p5dhAnjE2gmKm76c1GdiBUaody8aCpmruZtx7Nof2OK0Ofo8Md/5hoSZSZNv TtCh6su8ZQvnOQw6LYNsjs2MoN4X1do/IKsyvqsigJB42m4rCLXG8r7X0AXgntmhhrcc 9Zbw== X-Gm-Message-State: AOAM530rYE8Mpfn0SeM8SdpmTNHB5so2lMX/SaqmQRmHLFjzfoIbKNZb LEARAdhjBO6pBljWwbFhunNVweN6xmztE6Mbw5c= X-Google-Smtp-Source: ABdhPJyMf1rGxEMXIdjVdp//rax3AE0Zh/k+ScPhTRyGKVVOlVPDel9wu6VcXRQ3cqBfWAp7ZscLGA== X-Received: by 2002:a2e:8190:0:b0:24d:c12b:e55f with SMTP id e16-20020a2e8190000000b0024dc12be55fmr3252761ljg.23.1650644616537; Fri, 22 Apr 2022 09:23:36 -0700 (PDT) Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com. [209.85.208.178]) by smtp.gmail.com with ESMTPSA id d14-20020a19f24e000000b00471a405963asm271849lfk.304.2022.04.22.09.23.35 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Apr 2022 09:23:35 -0700 (PDT) Received: by mail-lj1-f178.google.com with SMTP id h11so10278381ljb.2 for ; Fri, 22 Apr 2022 09:23:35 -0700 (PDT) X-Received: by 2002:a2e:b8d2:0:b0:24e:e19c:5375 with SMTP id s18-20020a2eb8d2000000b0024ee19c5375mr3277685ljp.176.1650644614617; Fri, 22 Apr 2022 09:23:34 -0700 (PDT) MIME-Version: 1.0 References: <20220422060107.781512-1-npiggin@gmail.com> <20220422060107.781512-2-npiggin@gmail.com> In-Reply-To: <20220422060107.781512-2-npiggin@gmail.com> From: Linus Torvalds Date: Fri, 22 Apr 2022 09:23:18 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 1/2] mm/vmalloc: huge vmalloc backing pages should be split rather than compound To: Nicholas Piggin Cc: Paul Menzel , "the arch/x86 maintainers" , Song Liu , "Edgecombe, Rick P" , Andrew Morton , Linux Kernel Mailing List , Linux-MM Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: EF3FA80034 X-Stat-Signature: se4y4hbdtdf3r4cupyby9bxs1st3bcfo X-Rspam-User: Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=aPyjHIH1; spf=pass (imf02.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.171 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none X-Rspamd-Server: rspam09 X-HE-Tag: 1650644616-905053 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 Thu, Apr 21, 2022 at 11:01 PM Nicholas Piggin wrote: > > Huge vmalloc higher-order backing pages were allocated with __GFP_COMP > in order to allow the sub-pages to be refcounted by callers such as > "remap_vmalloc_page [sic]" (remap_vmalloc_range). > > However a similar problem exists for other struct page fields callers > use, for example fb_deferred_io_fault() takes a vmalloc'ed page and > not only refcounts it but uses ->lru, ->mapping, ->index. This is not > compatible with compound sub-pages. > > The correct approach is to use split high-order pages for the huge > vmalloc backing. These allow callers to treat them in exactly the same > way as individually-allocated order-0 pages. This patch looks ObviouslyCorrect(tm), and you even reproduced the fbdev problem. Applied. Linus