Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3832089pxf; Mon, 22 Mar 2021 16:58:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy4IwdYvmz/zreNBuIruL0lCPPO2YTyFsClN+JPLf42tDWSXybihVkJt/dZPDIgK8reS7/j X-Received: by 2002:a17:906:3f8c:: with SMTP id b12mr2224923ejj.340.1616457503130; Mon, 22 Mar 2021 16:58:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616457503; cv=none; d=google.com; s=arc-20160816; b=AV5IQTWD1gll03P6qwAF+nsPVBmemidogxpUTCYxVhakgMLVtLbA4GPXo/Ois4NuPM pz5nPgstp0q6xSjMu/ixKBwDSw6/ag8+6TGUkKsRGpNqzLiXUK2HwkKRKgJnOzY4d1VE RHEw4g0c3Sr70HcowbWup0HaZOuFg0YZBWkuzAtJZcmOpJsptMpVS/Nm/BaSPLDv5IQu rHBJ/ibANN11f2VmpWvXxJ2Q9uQJOzWaIvdx/vfq+4dC2ZrqLKNHT4vXa6DEFEuvBcnC PEwZoJhZLiFlR2jz73nO4WHbznfcFnWuY4Sp6nCOfiqrOgAjNDpjbOkWb3HqRJx/TzKk 1WVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=cfshVY478X2xx8X9kDXJdfG3qV9aSf8zqrUf+z9n2jU=; b=DHvzFOPCdxyIgAjD62Xe7yrGzZ/uCcuo/2kuMLz+p3pTBOml9BBTCuKbOO0kQInx6e AMtA4zJ6C2R5+xewCaD6q3ADWxfauJ/y1/XzCt5Q60tL9gvRrBDw2HQ5+P9YtWmHjSKx I7R6IoxaRDvBypoozGQK8KyTrZLuMxT3Igb/kRD+T9reROlTsjW+CJiagIVzSmv8Z1Ve 5pfxInQysYIriW+YU2lPkOjL4/EVsB9HSmQT0oBzl8u3XtSN2CSYaNhHjQJGpeLHNP5Y FRqaTuMjm/jG7n1xN/ZfQ8ix80EQ46WEmvOu/OInkBipWbx7CC3OUeSTnx9xgVt0qf2g ZBJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QjJkDa1g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id os24si12120148ejb.729.2021.03.22.16.58.00; Mon, 22 Mar 2021 16:58:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QjJkDa1g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229537AbhCVX4A (ORCPT + 99 others); Mon, 22 Mar 2021 19:56:00 -0400 Received: from mail.kernel.org ([198.145.29.99]:45490 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229658AbhCVXzi (ORCPT ); Mon, 22 Mar 2021 19:55:38 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2C5CC619AA; Mon, 22 Mar 2021 23:55:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1616457335; bh=VpDFohQxZdeFwzTLulapaQ9fKZPYsThIcB9QTDxJKwU=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=QjJkDa1ggtnBvgZYRVevMK5DtzMSwdnqcL2IKwZNwVfebXPzXeq9bh5HrmauMIZe8 mcpJ7h1wQ0QtVr1jaT0DnvTITGyr8fywLW3VM8C4i6QW5DhWU0t2SWeCVR0r4gukWU 9/17UjRe8DYBqbSDpZfn4SqYrJoLgOkl04B/FvlY0QiVd6X5tFbgN7L2oD4ARXGiqQ WtgLk2AwqjVl1Ml0zSLMa3uTottJk1yldu7BM2jyTNnG+tibj/vSd53fJHXjvGWp4u 1tLmi3b75wXhCSsF8ttTGxmdaoZEznXWc3HV/ORwpC5KUHm4Qlk762BzsmTW5pl1dY SAoZsLAPI9QwQ== Received: by mail-lj1-f176.google.com with SMTP id f16so23338361ljm.1; Mon, 22 Mar 2021 16:55:35 -0700 (PDT) X-Gm-Message-State: AOAM531xTjZOBhahIGgkkWP+SNdsfd/q2gFvoliQHQ4OLK/JcC0jnVqP ysx7x6BRz2DeD5Q1K5MM85M+EPT/e1EWbnEOj84= X-Received: by 2002:a05:651c:200b:: with SMTP id s11mr1143822ljo.177.1616457333463; Mon, 22 Mar 2021 16:55:33 -0700 (PDT) MIME-Version: 1.0 References: <20210322215823.962758-1-cfijalkovich@google.com> In-Reply-To: <20210322215823.962758-1-cfijalkovich@google.com> From: Song Liu Date: Mon, 22 Mar 2021 16:55:22 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] mm, thp: Relax the VM_DENYWRITE constraint on file-backed THPs To: Collin Fijalkovich Cc: Song Liu , surenb@google.com, hridya@google.com, kaleshsingh@google.com, Hugh Dickins , timmurray@google.com, Alexander Viro , Andrew Morton , Linux-Fsdevel , open list , Linux-MM Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 22, 2021 at 3:00 PM Collin Fijalkovich wrote: > > Transparent huge pages are supported for read-only non-shmem filesystems, > but are only used for vmas with VM_DENYWRITE. This condition ensures that > file THPs are protected from writes while an application is running > (ETXTBSY). Any existing file THPs are then dropped from the page cache > when a file is opened for write in do_dentry_open(). Since sys_mmap > ignores MAP_DENYWRITE, this constrains the use of file THPs to vmas > produced by execve(). > > Systems that make heavy use of shared libraries (e.g. Android) are unable > to apply VM_DENYWRITE through the dynamic linker, preventing them from > benefiting from the resultant reduced contention on the TLB. > > This patch reduces the constraint on file THPs allowing use with any > executable mapping from a file not opened for write (see > inode_is_open_for_write()). It also introduces additional conditions to > ensure that files opened for write will never be backed by file THPs. Thanks for working on this. We could also use this in many data center workloads. Question: when we use this on shared library, the library is still writable. When the shared library is opened for write, these pages will refault in as 4kB pages, right? Thanks, Song