Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp953709ybm; Wed, 27 May 2020 12:04:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwF7+rKhjaluskFHlok8asRUxki6vpfOTq+MQi3ovnl0w2HkzGGjJRYN4dEGHUz+75R8jhE X-Received: by 2002:a17:907:9495:: with SMTP id dm21mr7272246ejc.357.1590606252001; Wed, 27 May 2020 12:04:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590606251; cv=none; d=google.com; s=arc-20160816; b=ofC5hjxb9nQDZqtppUHvzbFZGc15uBmk7k7++77Dh0OTmVYsf306t3F3bTphofZYWm DhBxm2qcHiJT1qfjLZ46ff4Tzq1cRw0dw+qxCAKzA8NOs6UCReDyT2LRP21mZzV+NYbF /M4XWO7EvhCJOkPyTuPhQwNoUGiD7BuipieWq9Cs66WYZwRXOBp2+I9DMlyRk+H7WGMo ZOBDMn0wzhDjHGWQXHqriVLI+oSGZRZMBUTRJy+x61ARkZtKwWtpPc/xqqna0qQbgS3N 1dW50GnFlEs43Suz2A8SmQQfZq01lI7UDtnt0Fb6bV92B+9hVR5HxxFfqgpeaO98Md1d r6Ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=k3nYF/YBZF57cUv9zoVFQYYh4OShXHa/aPRp19hEyu8=; b=XT7/qAzknwVg5VKrdKDSfOv2oO/0DF3v0eeN0UZNjW4TimSWXIwb1bsFPhFhhKHUsg BLMc//Vttav81+Y3K4rm4OX0F1WtnEKibcAzz3Qx9Huw5Ljm/piYNaare1wsPcVyOOVQ LNpbNhIg6xiScDLPqr+cbT26BDzORYegs718Yxq58REw1B/+tEzV/D9Z2/anCxUapOrM 7eVmsDoBbwemRGCmbq7V/QA9WVKhO9YFDv9e/ybWyFcLRY/++XjFWlTm7xnkWZ2lmYeO 2q4zuaCujtRHHCyMJDtKF1n3+m8IKPPE5ct6VwLwDMdkzjISNd4q3qLMwVA3b6SQV7Yr f3pw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v1si1687654ejd.588.2020.05.27.12.03.44; Wed, 27 May 2020 12:04:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390613AbgE0PzI (ORCPT + 98 others); Wed, 27 May 2020 11:55:08 -0400 Received: from mx2.suse.de ([195.135.220.15]:40590 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390625AbgE0Pyx (ORCPT ); Wed, 27 May 2020 11:54:53 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 21872AFD1; Wed, 27 May 2020 15:54:54 +0000 (UTC) Subject: Re: [PATCH v4 10/19] mm: memcg/slab: deprecate memory.kmem.slabinfo To: Roman Gushchin , Andrew Morton , Christoph Lameter Cc: Johannes Weiner , Michal Hocko , Shakeel Butt , linux-mm@kvack.org, kernel-team@fb.com, linux-kernel@vger.kernel.org References: <20200526214227.989341-1-guro@fb.com> <20200526214227.989341-11-guro@fb.com> From: Vlastimil Babka Message-ID: <2dc94375-2ac6-9dd7-64e8-6e66aeb3a662@suse.cz> Date: Wed, 27 May 2020 17:54:50 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200526214227.989341-11-guro@fb.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/26/20 11:42 PM, Roman Gushchin wrote: > Deprecate memory.kmem.slabinfo. > > An empty file will be presented if corresponding config options are > enabled. > > The interface is implementation dependent, isn't present in cgroup v2, > and is generally useful only for core mm debugging purposes. In other > words, it doesn't provide any value for the absolute majority of users. > > A drgn-based replacement can be found in tools/cgroup/slabinfo.py . > It does support cgroup v1 and v2, mimics memory.kmem.slabinfo output > and also allows to get any additional information without a need > to recompile the kernel. > > If a drgn-based solution is too slow for a task, a bpf-based tracing > tool can be used, which can easily keep track of all slab allocations > belonging to a memory cgroup. > > Signed-off-by: Roman Gushchin Also there was a Acked-by: Johannes Weiner for this patch. And here's mine: Acked-by: Vlastimil Babka Of course this depends on whether we break somebody's workflow and they complain. > --- > mm/memcontrol.c | 3 --- > mm/slab_common.c | 31 ++++--------------------------- > 2 files changed, 4 insertions(+), 30 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index ed12bff81ea5..eca03e13c7ec 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -5052,9 +5052,6 @@ static struct cftype mem_cgroup_legacy_files[] = { > (defined(CONFIG_SLAB) || defined(CONFIG_SLUB_DEBUG)) > { > .name = "kmem.slabinfo", > - .seq_start = memcg_slab_start, > - .seq_next = memcg_slab_next, > - .seq_stop = memcg_slab_stop, > .seq_show = memcg_slab_show, > }, > #endif > diff --git a/mm/slab_common.c b/mm/slab_common.c > index b578ae29c743..3c89c2adc930 100644 > --- a/mm/slab_common.c > +++ b/mm/slab_common.c > @@ -1523,35 +1523,12 @@ void dump_unreclaimable_slab(void) > } > > #if defined(CONFIG_MEMCG_KMEM) > -void *memcg_slab_start(struct seq_file *m, loff_t *pos) > -{ > - struct mem_cgroup *memcg = mem_cgroup_from_seq(m); > - > - mutex_lock(&slab_mutex); > - return seq_list_start(&memcg->kmem_caches, *pos); > -} > - > -void *memcg_slab_next(struct seq_file *m, void *p, loff_t *pos) > -{ > - struct mem_cgroup *memcg = mem_cgroup_from_seq(m); > - > - return seq_list_next(p, &memcg->kmem_caches, pos); > -} > - > -void memcg_slab_stop(struct seq_file *m, void *p) > -{ > - mutex_unlock(&slab_mutex); > -} > - > int memcg_slab_show(struct seq_file *m, void *p) > { > - struct kmem_cache *s = list_entry(p, struct kmem_cache, > - memcg_params.kmem_caches_node); > - struct mem_cgroup *memcg = mem_cgroup_from_seq(m); > - > - if (p == memcg->kmem_caches.next) > - print_slabinfo_header(m); > - cache_show(s, m); > + /* > + * Deprecated. > + * Please, take a look at tools/cgroup/slabinfo.py . > + */ > return 0; > } > #endif >