Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp767407imm; Wed, 11 Jul 2018 10:34:59 -0700 (PDT) X-Google-Smtp-Source: AAOMgped4v5qQofcaxWfq+lKELybD/ghGmks0FvipP0qeiLRWGEVbte8qNzQYwMb3m4AjNYVLuvO X-Received: by 2002:a17:902:8f98:: with SMTP id z24-v6mr3120798plo.136.1531330499616; Wed, 11 Jul 2018 10:34:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531330499; cv=none; d=google.com; s=arc-20160816; b=x6CNv5boAAAjC3BJ6mOG34lIDpAqLbKE6vaEM4AWM/WCO2Ol69q39Uwn5XUAHzMz5l 8++5YLInFxoFt9RCLtvVI51xwFiLt0Au70BYkV/wFTlJ3T2nXWkmeSwppiFdA5EpIOBf yGa55pw1KyaISk8DCiM4uHDR3u+WtQLVBXSWO4fk/iQu+6HeTI3aAGg6N4C27p1X2X44 KPqfdY0JTJqF5IC3aPlPuK6THUPWCHAFZORZIDYCmDpi3HjH4s/wXbblWQI6Z7W0wAGk zcaBO1au0rQXVA5Wod0tcT36xIRakxwO/AfGux71PpIqLscdUMogg7GZoojk2FPvMvcQ k3fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject :arc-authentication-results; bh=eOQORP/eGx1EAXfXBdDrYhRBsB+OjRWJsDs6moGSdyo=; b=FQeNU3bXvvkwZjG9eO9o3Q7zi2aaNUilfnTgFTMxy/9eV8aA1jbBu8yKM2NxwpPIrg 27w5iiijFuKRGO4nJu0lsPpgaeFSeZAJ1WAmW+t/TOK/+0NwCC8zCnPD0fIOV6rrm7Im 85qX4akhBoxrTNviH9KU4vApET072LhJd9Ty4erd5Ud1PFHipNcmE4SN3ZenhqaozG1F nLqZBYNS9T99C/0hVEZq9tlKHtRpvINxdEu+Gou2lHBhn+O7Tv5wVEl3zpEkypon3R0r o1WzGQlwFthG2SlwhdKh6j3jJLNf8xOC0NJ9WbkW5iN2gtwUN5WpuQgq0Zxrc8oag4cV DVjQ== 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u22-v6si19092545plq.135.2018.07.11.10.34.43; Wed, 11 Jul 2018 10:34:59 -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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388919AbeGKPSs convert rfc822-to-8bit (ORCPT + 99 others); Wed, 11 Jul 2018 11:18:48 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:48350 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2388906AbeGKPSr (ORCPT ); Wed, 11 Jul 2018 11:18:47 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 461854070489; Wed, 11 Jul 2018 15:13:59 +0000 (UTC) Received: from llong.remote.csb (dhcp-17-175.bos.redhat.com [10.18.17.175]) by smtp.corp.redhat.com (Postfix) with ESMTP id 80C2D2166BA2; Wed, 11 Jul 2018 15:13:58 +0000 (UTC) Subject: Re: [PATCH v6 0/7] fs/dcache: Track & limit # of negative dentries To: Michal Hocko Cc: Alexander Viro , Jonathan Corbet , "Luis R. Rodriguez" , Kees Cook , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, Linus Torvalds , Jan Kara , "Paul E. McKenney" , Andrew Morton , Ingo Molnar , Miklos Szeredi , Matthew Wilcox , Larry Woodman , James Bottomley , "Wangkai (Kevin C)" References: <1530905572-817-1-git-send-email-longman@redhat.com> <20180709081920.GD22049@dhcp22.suse.cz> <62275711-e01d-7dbe-06f1-bf094b618195@redhat.com> <20180710142740.GQ14284@dhcp22.suse.cz> <20180711102139.GG20050@dhcp22.suse.cz> From: Waiman Long Organization: Red Hat Message-ID: <9f24c043-1fca-ee86-d609-873a7a8f7a64@redhat.com> Date: Wed, 11 Jul 2018 11:13:58 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20180711102139.GG20050@dhcp22.suse.cz> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Content-Language: en-US X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 11 Jul 2018 15:13:59 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 11 Jul 2018 15:13:59 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'longman@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/11/2018 06:21 AM, Michal Hocko wrote: > On Tue 10-07-18 12:09:17, Waiman Long wrote: >> On 07/10/2018 10:27 AM, Michal Hocko wrote: >>> On Mon 09-07-18 12:01:04, Waiman Long wrote: >>>> On 07/09/2018 04:19 AM, Michal Hocko wrote: > [...] >>>>> percentage has turned out to be a really wrong unit for many tunables >>>>> over time. Even 1% can be just too much on really large machines. >>>> Yes, that is true. Do you have any suggestion of what kind of unit >>>> should be used? I can scale down the unit to 0.1% of the system memory. >>>> Alternatively, one unit can be 10k/cpu thread, so a 20-thread system >>>> corresponds to 200k, etc. >>> I simply think this is a strange user interface. How much is a >>> reasonable number? How can any admin figure that out? >> Without the optional enforcement, the limit is essentially just a >> notification mechanism where the system signals that there is something >> wrong going on and the system administrator need to take a look. So it >> is perfectly OK if the limit is sufficiently high that normally we won't >> need to use that many negative dentries. The goal is to prevent negative >> dentries from consuming a significant portion of the system memory. > So again. How do you tell the right number? I guess it will be more a trial and error kind of adjustment as the right figure will depend on the kind of workloads being run on the system. So unless the enforcement option is turned on, setting a limit that is too small won't have too much impact over than a slight performance drop because of the invocation of the slowpaths and the warning messages in the console. Whenever a non-zero value is written into "neg-dentry-limit", an informational message will be printed about what the actual negative dentry limits will be. It can be compared against the current negative dentry number (5th number) from "dentry-state" to see if there is enough safe margin to avoid false positive warning. > >> I am going to reduce the granularity of each unit to 1/1000 of the total >> system memory so that for large system with TB of memory, a smaller >> amount of memory can be specified. > It is just a matter of time for this to be too coarse as well. The goal is to not have too much memory being consumed by negative dentries and also the limit won't be reached by regular daily activities. So a limit of 1/1000 of the total system memory will be good enough on large memory system even if the absolute number is really big. Cheers, Longman