Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp985549ybi; Wed, 3 Jul 2019 07:37:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqz3f8/zeAHc/pPI/3ISGepM6zuQ6ogS7rcxpdxBhS41FfT+0Nz9oo9RCoGFB54b/CsV8gLk X-Received: by 2002:a63:4d05:: with SMTP id a5mr35129471pgb.19.1562164677865; Wed, 03 Jul 2019 07:37:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562164677; cv=none; d=google.com; s=arc-20160816; b=HNd9OSX2NZvoIOfnQWyg2MpNk2LsMVy1QO1DLDzXEo9Rs7nCnUJPe6fdrWm4q/ACLt bKHCeTOF9Lsh8RdHZWv7CBZFNSnwnsgbiue7/bLOn/E6iyWoVB43DmA4rf/cZgKkWPh0 Ue5+lisK5AJ1CsMHBWM88QfZoPXoSSeDctS9MCTUtxdBW36eyh5rPxi+XlCANO8P2VcZ H5Uc5benSrQlcgY4eJ/jAD1jlrLRXqBCdNemcMezBMxypC1l/0Zp6P0M5hZ2HSBPDpV1 8Q0i8c/bPRS+0icmPS97EGI+gd/0/P/LQdItHTKb7C/IaUQLoy+S9FWrUf5ulNj4ndvr tpwQ== 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=OeAMTyj0tj5DyhQCkmjlDnvMQJ8pA45Ng3YyjVr7r2o=; b=tK8Mvh/EMOrKupghU/+9r8peS4r1JJo6XByvqQxAI7P5OzW55xjcrk3FFiJDHfIGA1 JLtjCRaCA8ilbWLj2MhY8X2adcTWBoniUfDl1uWP1agYTLyISVPqlx8YVA8Ez+YUdkCQ Qlpq6gUnqBR50+Ecf/w+0+PZHkn7wy5ewPpvIR+OrSaOTCmCBOk+kSe5zroRAxTOns9b fLqbfxZ+h0s4djf4bRPn7en/AacT3eg8NrKUL7ACkBkJnbeZaKKaBmUUGaodQLKAE/yi sZ0cK+uJG0+1iHSeSHFCfCDi2nc+v0K9+J7YhNPKH2+n7xnFeuFJFM5FSrQch9ASWR0h omLQ== 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 l25si2590939pff.216.2019.07.03.07.37.42; Wed, 03 Jul 2019 07:37:57 -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 S1727076AbfGCOhF (ORCPT + 99 others); Wed, 3 Jul 2019 10:37:05 -0400 Received: from mx2.suse.de ([195.135.220.15]:50812 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726430AbfGCOhE (ORCPT ); Wed, 3 Jul 2019 10:37:04 -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 11175AF60; Wed, 3 Jul 2019 14:37:03 +0000 (UTC) Date: Wed, 3 Jul 2019 16:37:01 +0200 From: Michal Hocko To: Waiman Long Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Alexander Viro , Jonathan Corbet , Luis Chamberlain , Kees Cook , Johannes Weiner , Vladimir Davydov , linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Roman Gushchin , Shakeel Butt , Andrea Arcangeli Subject: Re: [PATCH] mm, slab: Extend slab/shrink to shrink all the memcg caches Message-ID: <20190703143701.GR978@dhcp22.suse.cz> References: <20190702183730.14461-1-longman@redhat.com> <20190703065628.GK978@dhcp22.suse.cz> <9ade5859-b937-c1ac-9881-2289d734441d@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9ade5859-b937-c1ac-9881-2289d734441d@redhat.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 Wed 03-07-19 09:12:13, Waiman Long wrote: > On 7/3/19 2:56 AM, Michal Hocko wrote: > > On Tue 02-07-19 14:37:30, Waiman Long wrote: > >> Currently, a value of '1" is written to /sys/kernel/slab//shrink > >> file to shrink the slab by flushing all the per-cpu slabs and free > >> slabs in partial lists. This applies only to the root caches, though. > >> > >> Extends this capability by shrinking all the child memcg caches and > >> the root cache when a value of '2' is written to the shrink sysfs file. > > Why do we need a new value for this functionality? I would tend to think > > that skipping memcg caches is a bug/incomplete implementation. Or is it > > a deliberate decision to cover root caches only? > > It is just that I don't want to change the existing behavior of the > current code. It will definitely take longer to shrink both the root > cache and the memcg caches. Does that matter? To whom and why? I do not expect this interface to be used heavily. > If we all agree that the only sensible > operation is to shrink root cache and the memcg caches together. I am > fine just adding memcg shrink without changing the sysfs interface > definition and be done with it. The existing documentation is really modest on the actual semantic: Description: The shrink file is written when memory should be reclaimed from a cache. Empty partial slabs are freed and the partial list is sorted so the slabs with the fewest available objects are used first. which to me sounds like all slabs are free and nobody should be really thinking of memcgs. This is simply drop_caches kinda thing. We surely do not want to drop caches only for the root memcg for /proc/sys/vm/drop_caches right? -- Michal Hocko SUSE Labs