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=-9.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS autolearn=ham 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 8DD31C43457 for ; Wed, 14 Oct 2020 15:28:51 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id EF0B321582 for ; Wed, 14 Oct 2020 15:28:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TsZIkF/G" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EF0B321582 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 67FD86B0062; Wed, 14 Oct 2020 11:28:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 631646B006E; Wed, 14 Oct 2020 11:28:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D1D76B0070; Wed, 14 Oct 2020 11:28:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0125.hostedemail.com [216.40.44.125]) by kanga.kvack.org (Postfix) with ESMTP id 1EA986B0062 for ; Wed, 14 Oct 2020 11:28:50 -0400 (EDT) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 9C3D43626 for ; Wed, 14 Oct 2020 15:28:49 +0000 (UTC) X-FDA: 77370913578.16.flame61_3708c652720c Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin16.hostedemail.com (Postfix) with ESMTP id 70E35100329B1 for ; Wed, 14 Oct 2020 15:28:49 +0000 (UTC) X-HE-Tag: flame61_3708c652720c X-Filterd-Recvd-Size: 4495 Received: from mail-ed1-f68.google.com (mail-ed1-f68.google.com [209.85.208.68]) by imf32.hostedemail.com (Postfix) with ESMTP for ; Wed, 14 Oct 2020 15:28:48 +0000 (UTC) Received: by mail-ed1-f68.google.com with SMTP id t20so3547753edr.11 for ; Wed, 14 Oct 2020 08:28:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=PiKeKQoLzWt1QYVrhRU+DXp7wjY+FIyozth8EY2CA0o=; b=TsZIkF/GcftCA8xQTGW3ms4PDi/84/N9unKIGLkZ2jX3+Kt3PMJP4wVwbvun2MGte3 sVPBAG8ouQP8QLgNSbyUSo9qrja4GXjhB3wRIbLWaqI45cKKbXY78rO2djLfL0LI/hpF UZ6wwn+E0qpyUPS3g8Tmkiro6ekqNwACoUSl+bCK4dh78az8nfwIkQaDCuxDPzUHuSkb OJFWHc3da5fdgMOITOGGSbrDTT97cihcAYIDIfGNXIRNBCAAZWAa+//kR55chKyZvN+5 6NNQStsLRRssqQDAm2FAO3WUh0x+IdXg4lkuO9JPhjBlenz4EC1+wOxte2MU1m19DGKK 7oeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=PiKeKQoLzWt1QYVrhRU+DXp7wjY+FIyozth8EY2CA0o=; b=rbiu2aexnVKOZ91fjkzMhscw0GiKVBCAzjK9k16290OjagE/T4Xj6UWlNGd1FrkINf Mk55tCDap3hRVptST+mMvolyZocGTZCCuDYpqnUYTcG0fLcMfCOPXCKDHCqOsUqDeDYk 5rUAOYtiqp8mGLPdJeRFk6bN8TUcxrNI/T0mRE9pfpSNae+HGSZ6CJvAawjbVTEPgINI xCOkkKFgG4CbYJeXYo1goeohrfuO0rqm0eU8oKCG8gff75aiP5XEOZCVw7oA0+IPLM05 i1l0fgw04X4ZhkleT6Tt90ko5vwSy7Dj29clv9r9HMtmEAjzd+wNCaXTBEqyhd3rfNik yazA== X-Gm-Message-State: AOAM530Jx9tltoqWJifGDSSv7uGtleYXz/bQYVkmdWaUr1YB2bPUwqKa /Aoa5Q1JAfufKnBNg0dVV34= X-Google-Smtp-Source: ABdhPJzytO8Dk37gQIukjrHDqdvFHEItJgb9Ly8H8N/sG64uYgJ1Y1an5mQH8AoI0RUFJdWoqKwRWw== X-Received: by 2002:a50:871d:: with SMTP id i29mr5956976edb.300.1602689327788; Wed, 14 Oct 2020 08:28:47 -0700 (PDT) Received: from gmail.com (563B81C8.dsl.pool.telekom.hu. [86.59.129.200]) by smtp.gmail.com with ESMTPSA id y6sm1762190eds.93.2020.10.14.08.28.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 08:28:46 -0700 (PDT) Date: Wed, 14 Oct 2020 17:28:45 +0200 From: Ingo Molnar To: Ankur Arora Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, kirill@shutemov.name, mhocko@kernel.org, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Andrew Morton Subject: Re: [PATCH 6/8] mm, clear_huge_page: use clear_page_uncached() for gigantic pages Message-ID: <20201014152845.GA1424414@gmail.com> References: <20201014083300.19077-1-ankur.a.arora@oracle.com> <20201014083300.19077-7-ankur.a.arora@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201014083300.19077-7-ankur.a.arora@oracle.com> 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: * Ankur Arora wrote: > Uncached writes are suitable for circumstances where the region written to > is not expected to be read again soon, or the region written to is large > enough that there's no expectation that we will find the writes in the > cache. > > Accordingly switch to using clear_page_uncached() for gigantic pages. > > Signed-off-by: Ankur Arora > --- > mm/memory.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/memory.c b/mm/memory.c > index eeae590e526a..4d2c58f83ab1 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -5092,7 +5092,7 @@ static void clear_gigantic_page(struct page *page, > for (i = 0; i < pages_per_huge_page; > i++, p = mem_map_next(p, page, i)) { > cond_resched(); > - clear_user_highpage(p, addr + i * PAGE_SIZE); > + clear_user_highpage_uncached(p, addr + i * PAGE_SIZE); > } > } So this does the clearing in 4K chunks, and your measurements suggest that short memory clearing is not as efficient, right? I'm wondering whether it would make sense to do 2MB chunked clearing on 64-bit CPUs, instead of 512x 4k clearing? Both 2MB and GB pages are continuous in memory, so accessible to these instructions in a single narrow loop. Thanks, Ingo