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 X-Spam-Level: X-Spam-Status: No, score=-2.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71D91C433E6 for ; Thu, 11 Mar 2021 22:37:37 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E5CF264F8C for ; Thu, 11 Mar 2021 22:37:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E5CF264F8C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 1BFC18D0309; Thu, 11 Mar 2021 17:37:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 148B98D02B2; Thu, 11 Mar 2021 17:37:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EDE1F8D0309; Thu, 11 Mar 2021 17:37:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0214.hostedemail.com [216.40.44.214]) by kanga.kvack.org (Postfix) with ESMTP id C9C948D02B2 for ; Thu, 11 Mar 2021 17:37:35 -0500 (EST) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 7DDB8181AF5C7 for ; Thu, 11 Mar 2021 22:37:35 +0000 (UTC) X-FDA: 77909056470.23.A1AD96C Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) by imf28.hostedemail.com (Postfix) with ESMTP id 47BF620001EA for ; Thu, 11 Mar 2021 22:37:36 +0000 (UTC) Received: by mail-ed1-f51.google.com with SMTP id z1so5226464edb.8 for ; Thu, 11 Mar 2021 14:37:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=fXghSk9caRWFDRCz6fZq581zxQ1h0J2EoY5DSpAlgro=; b=lMzrbplLg4M4wJocvzEGEBYyWixVqH6cGi7JRgMkjT5Q/UszF26rY9VgsY7RA/0Uhk GG/zYoTnqi0bwp+7ppeaR+OMjOKN6P6O52IlKBgqIsnVHp3j8B0Uq4OwDAp4i9xU4RbZ cJcDc8sXYq/qem8W4zpOklI4ZJJH3iT2/RvdkM7OtjEIwW0xCQ2gS6jUGd+eAhVnsad0 J0MqZi9YXlC3DQ9nYgiWP5TKUcCSScSztJVDtVXZ0KMSa4qLHfsEE9duAnDqLDy9Ft5b RccCUkWjb7HE2TBAOksJx0gIzv4HfD8EWVuaxwZ9VJ2xyfB2K8bPzKAAw4Qm8AyzGcsR MbMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=fXghSk9caRWFDRCz6fZq581zxQ1h0J2EoY5DSpAlgro=; b=CpSvwB5KqkwOW4kscFx/h1O4xOb5OUn75j6uOcAa9QJCJ1VWvxTAWmsWvFd5UUHI/h y70N2PF/JjPsJBImP5i58FwpJcSWWFJCEwtYBBczOTfOi1oOcGtVQFD3rKXqdxLCPBji IpRU8Go4DhkhWNsyk3ogWLXeLB+Ax+m+qjxNq6x3Yx2OmzXnGk7xIdIsPAql5g3IsKb5 Bj2JWCE8eCCMcT57cyYyVhTwQw4Az32Jos9mIIQxtM669L0KfhAz+gToRyGYViI6LJNp hC0iswPwWmg2rcMnlVK5IPsiT+opL1K1+PIBK/dQ3lgQH1awEC3DefltLXXrZ1IswzyA ViFA== X-Gm-Message-State: AOAM531YYpfW0z0iHQiu5BcUcBWaa4PpAQpyU+TTAELxmw9LpCwB015c KaOnCo0jTXzDrZAQvT4lvkpwqaDxhHD+0572bj4= X-Google-Smtp-Source: ABdhPJzVKFYwSspdbEbBYCUOrZiXSEa8rHyVbd8LQ3zNjc4/aqAS0jN39CO9lHjA8rtfPUHdepo15UrmW+1WvpfqYE8= X-Received: by 2002:a05:6402:5189:: with SMTP id q9mr10774827edd.168.1615502253659; Thu, 11 Mar 2021 14:37:33 -0800 (PST) MIME-Version: 1.0 References: <20210310153544.434160-1-zi.yan@sent.com> In-Reply-To: From: Yang Shi Date: Thu, 11 Mar 2021 14:37:21 -0800 Message-ID: Subject: Re: [PATCH v2] mm: huge_memory: a new debugfs interface for splitting THP tests. To: Zi Yan Cc: Linux MM , Linux Kernel Mailing List , linux-kselftest@vger.kernel.org, "Kirill A . Shutemov" , Andrew Morton , Shuah Khan , John Hubbard , Sandipan Das , David Hildenbrand , Mika Penttila Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: ua3d1zoxbxpqph335ig7asoirj9oc7f4 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 47BF620001EA Received-SPF: none (gmail.com>: No applicable sender policy available) receiver=imf28; identity=mailfrom; envelope-from=""; helo=mail-ed1-f51.google.com; client-ip=209.85.208.51 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1615502256-168303 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, Mar 11, 2021 at 7:52 AM Zi Yan wrote: > > On 10 Mar 2021, at 20:12, Yang Shi wrote: > > > On Wed, Mar 10, 2021 at 7:36 AM Zi Yan wrote: > >> > >> From: Zi Yan > >> > >> We do not have a direct user interface of splitting the compound page > >> backing a THP and there is no need unless we want to expose the THP > >> implementation details to users. Adding an interface for debugging. > >> > >> By writing ",," to > >> /split_huge_pages_in_range_pid, THPs within the given virtual > > > > Can we reuse the existing split_huge_page knob instead of creating a ne= w one? > > > > Two knobs for splitting huge pages on debugging purpose seem > > overkilling to me IMHO. I'm wondering if we could check if a special > > value (e.g. 1 or -1) is written then split all THPs as split_huge_page > > knob does? > > > > I don't think this interface is used widely so the risk should be very > > low for breaking userspace. > > Thanks for the suggestion. > > I prefer a separate interface to keep input handling simpler. I am also > planning to enhance this interface later to enable splitting huge pages > to any lower order when Matthew Wilcox=E2=80=99s large page in page cache= gets in, > so it is better to keep it separate from existing split_huge_pages. The input handling seems not that hard, you might be able to try to do: ret =3D sscanf(input_buf, "%d,0x%lx,0x%lx,%d", &pid, &vaddr_start, &vaddr_end, order); switch(ret) { case ret =3D=3D 1: split_all_thps case ret =3D=3D 3: split_thp_for_pid case ret =3D=3D 4: split_thp_for_pid_to_order default: return -EINVAL } Will it work for you? > > =E2=80=94 > Best Regards, > Yan Zi