Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp3822381ybl; Mon, 26 Aug 2019 00:46:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqybTz5Qrep35OPaGN0FtwB1yAuyKtQlqoR7T1w5Y+eL6w/0R0U6724RE0aFliaHDa62L+Yp X-Received: by 2002:a17:90a:1b0d:: with SMTP id q13mr18637227pjq.102.1566805584868; Mon, 26 Aug 2019 00:46:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566805584; cv=none; d=google.com; s=arc-20160816; b=Ej9Ya4FyRCH4XedfwBVaOA8e9TyhZCIdNde8VnChCrUVTqxUzB6d1GSfcMAt7TEjU6 mqEyThfa5tv/1W6fpX2/Tn3MevU2D1AdqXG9wwLvFOQhTsUl56x6KXarWZAd4/NkPBgw wpRoiqI16qwN8O2EHt1g++kuoJGSZa+YW7YGP7HGOMTikO5ijN8ZosVTWZ3b881avB9V kWh27edMUcBv12cHJMDXNE3DtT60HpGmd2rBiqQfgueuU3PQNukGz4EwhtJlib4aRqO9 ZXzddUStu5DC9yQGzodMR1r2eCvvNsAcpHt4iwx7H/feO8TvyCXtFg+O5cXlIBnjoXDM ma4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=fYdmx9PHXG4T7AIAriaWAJS9Br4zXfvDNE3CY42vgQ4=; b=k351Y9X5M6Eft1U/Sy82C5FkKyp8fwfwG25Y1fhEaW+xUTZ2WdsjXn7JX+rUvfXnyS raL0Kbw0nqSiNtbT8T1MbYxER9tcQnRqSFTcZ9S+SUaMmY6PAj1eHUDSljBSxXSHMa59 QD8VLgCUUSQlvcgXYvPsyYtZOmupi4pZ5Gq93l9pP5QvSEopj9SA241CIky5Ax12w7aF SWl4EwMkJEPIHDKoMH/7EmrbamDo/DsukEA58UAAwRa4I6Gqxy3c+p41J3FY1qIopn/X pGxk9rq6K5G/4tszydCH1MSNbtXHgySLOzB9in24CH59bg6BsLn2PPiJC6aJZeyeRSr4 dPDA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 64si8873193plw.379.2019.08.26.00.46.09; Mon, 26 Aug 2019 00:46:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730155AbfHZHnw (ORCPT + 99 others); Mon, 26 Aug 2019 03:43:52 -0400 Received: from mx2.suse.de ([195.135.220.15]:59628 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728198AbfHZHnw (ORCPT ); Mon, 26 Aug 2019 03:43:52 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id ED493AE79; Mon, 26 Aug 2019 07:43:50 +0000 (UTC) Date: Mon, 26 Aug 2019 09:43:50 +0200 From: Michal Hocko To: Yang Shi Cc: kirill.shutemov@linux.intel.com, hannes@cmpxchg.org, vbabka@suse.cz, rientjes@google.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [v2 PATCH -mm] mm: account deferred split THPs into MemAvailable Message-ID: <20190826074350.GE7538@dhcp22.suse.cz> References: <1566410125-66011-1-git-send-email-yang.shi@linux.alibaba.com> <20190822080434.GF12785@dhcp22.suse.cz> <9e4ba38e-0670-7292-ab3a-38af391598ec@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9e4ba38e-0670-7292-ab3a-38af391598ec@linux.alibaba.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 22-08-19 08:33:40, Yang Shi wrote: > > > On 8/22/19 1:04 AM, Michal Hocko wrote: > > On Thu 22-08-19 01:55:25, Yang Shi wrote: [...] > > > And, they seems very common with the common workloads when THP is > > > enabled. A simple run with MariaDB test of mmtest with THP enabled as > > > always shows it could generate over fifteen thousand deferred split THPs > > > (accumulated around 30G in one hour run, 75% of 40G memory for my VM). > > > It looks worth accounting in MemAvailable. > > OK, this makes sense. But your above numbers are really worrying. > > Accumulating such a large amount of pages that are likely not going to > > be used is really bad. They are essentially blocking any higher order > > allocations and also push the system towards more memory pressure. > > That is accumulated number, during the running of the test, some of them > were freed by shrinker already. IOW, it should not reach that much at any > given time. Then the above description is highly misleading. What is the actual number of lingering THPs that wait for the memory pressure in the peak? > > IIUC deferred splitting is mostly a workaround for nasty locking issues > > during splitting, right? This is not really an optimization to cache > > THPs for reuse or something like that. What is the reason this is not > > done from a worker context? At least THPs which would be freed > > completely sound like a good candidate for kworker tear down, no? > > Yes, deferred split THP was introduced to avoid locking issues according to > the document. Memcg awareness would help to trigger the shrinker more often. > > I think it could be done in a worker context, but when to trigger to worker > is a subtle problem. Why? What is the problem to trigger it after unmap of a batch worth of THPs? -- Michal Hocko SUSE Labs