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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 28580C3DA4A for ; Mon, 12 Aug 2024 00:55:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 528EC6B008A; Sun, 11 Aug 2024 20:55:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D8926B008C; Sun, 11 Aug 2024 20:55:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3A1B66B0092; Sun, 11 Aug 2024 20:55:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1CA726B008A for ; Sun, 11 Aug 2024 20:55:51 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8C20C1218FF for ; Mon, 12 Aug 2024 00:55:50 +0000 (UTC) X-FDA: 82441776060.14.DE9AE24 Received: from mail-il1-f182.google.com (mail-il1-f182.google.com [209.85.166.182]) by imf05.hostedemail.com (Postfix) with ESMTP id CB25B100007 for ; Mon, 12 Aug 2024 00:55:48 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=LwH1VZVQ; spf=pass (imf05.hostedemail.com: domain of rientjes@google.com designates 209.85.166.182 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723424137; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=P1wZscBRBmINP9lOLmPC6SYu14+hz1L8Prsr/p/rIDU=; b=ikb28vLICQvaA8W3MzXDXxQ3s+a49ThxD1kn02fDgSSQhaV450F2slnP81Pr0KNMuKCQdC fj7gz1NSpDfMBb9SQ86jotR4/tPfy/Z2T8RPnbIyzcEYzUrjK9anmS4uIqq1r+x8BdOQNC HYSRIsn2FyEDx1eE0S+R+jIxnbkS4zA= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=LwH1VZVQ; spf=pass (imf05.hostedemail.com: domain of rientjes@google.com designates 209.85.166.182 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723424137; a=rsa-sha256; cv=none; b=MyAcx1LQ5AZCw9TqN40ftOCYQRbACxv2nAGlh/Agcy/maFp3u8o6r6kzezY/Ix5Y5K3SbI nv6GiV76iBjjIz+DA+R6ZosxlG7TabsEpDaUi0reboq+RJluTx3SiJxYq6fFSxvGcpWrsa LFdzxwXPWcpkBuT0f9lqjzT+hdFO6NU= Received: by mail-il1-f182.google.com with SMTP id e9e14a558f8ab-39a16fab332so245795ab.0 for ; Sun, 11 Aug 2024 17:55:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1723424148; x=1724028948; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=P1wZscBRBmINP9lOLmPC6SYu14+hz1L8Prsr/p/rIDU=; b=LwH1VZVQIFOhi19GCsbc9SwQxnwloAaDxb6QUU/jbEjtGm6efw4o1wYMyajfOFJXSP qqv0fu8XRC/JxyBCzhAgX8okXsITTRq3/UDg8cbHrwh3Dd19AiXSSOeomk8Qq+knD+zu bx9db3f3LKNM4RHVau9e2GE/6RhCKQ25Yngp+z70maFakkRq41GRvWgvQJvCQ5eEPEM8 zaLrmWxsN80De2Gfs9QsXrJnvCxMVUXsGpJcS/oaMcqxSUo+VORNk2peoRvpe6CoaqGx XraEVdQu/OixDBXgAPeKBmEXVAOg98/avvOKyMmwxrbu+kD8vY3WA2tke0opebBNMxdR TU2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723424148; x=1724028948; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P1wZscBRBmINP9lOLmPC6SYu14+hz1L8Prsr/p/rIDU=; b=Qf2uIj4mxVVWWwtViVs05hmbvi0AX4XiQ7SG/A1s/a4nesk9QjxQA3AJnWpXV2qvMx Os9cmLS0EelzRJHSHDuXHg/BkS2XHIOPLT60DOSKu+tE7HtK0YftNRDRkzZ8nl5VcxbM g/F/7+ymgYoI1eboKZJqYl3GcNPAa6DqjeXro5GLnYL3yUxauQ5gd0kUB9+/ofphqqPX rSgNPV813E0ke8ZTDIE01rkhiDxa06aVQIlsSGXubyYXmaf0vRbrjdb5vQP3P43HfWkg nNCdet2fX120GzrWl1dnudmoUAPb6A+OCWUlf7g5DHIYIGFoMpw/8fUT4pyQUrygzK95 MaLQ== X-Forwarded-Encrypted: i=1; AJvYcCU++LIrLTBnIBQ9uZErWB5h7K5cVuaig4GhTQOdZjwqfKqsbbnFwLPSTLIvBjdLtoC7/b9qFe2xabkIiKXoQ9MkRNQ= X-Gm-Message-State: AOJu0YyjA8kGZ3cvbdcVZ1m31fzb7VGcnDU8kQKJE41it4A1b70FqVuj aMGxHzLTOR9qCMRL0Y92v+iZ3tODL6a7djUnzCyqDtolj1zDymxQMInvEfyP/g== X-Google-Smtp-Source: AGHT+IGDAqzpM79bpYGMVHChZ1fIFHVGw/q8RR1gcs+2AbudhGZaWMHnJ08MS+Oct5ZK3MfQ23NTJA== X-Received: by 2002:a05:6e02:1aa9:b0:39b:968:85fc with SMTP id e9e14a558f8ab-39c3146c1b9mr3187825ab.9.1723424147543; Sun, 11 Aug 2024 17:55:47 -0700 (PDT) Received: from [2620:0:1008:15:49ba:9fa:21c6:8a73] ([2620:0:1008:15:49ba:9fa:21c6:8a73]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7c3dbe12fc8sm2630204a12.21.2024.08.11.17.55.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Aug 2024 17:55:46 -0700 (PDT) Date: Sun, 11 Aug 2024 17:55:46 -0700 (PDT) From: David Rientjes To: Pedro Falcato cc: Christoph Lameter , Pekka Enberg , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] slab: Warn on duplicate cache names when DEBUG_VM=y In-Reply-To: Message-ID: References: <20240807090746.2146479-1-pedro.falcato@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspam-User: X-Stat-Signature: 9qxsypio1o4pe8komfon58m687h67h5a X-Rspamd-Queue-Id: CB25B100007 X-Rspamd-Server: rspam11 X-HE-Tag: 1723424148-466903 X-HE-Meta: U2FsdGVkX1+IWAkEiwlnLuzvCXi4UfWoMc+711+hcrkXSsYA6wOjIS9aH4NLPY9Z76rUkIMwUXEBAUhabfHeAZNdWlOH5hLFTH8y99nM+wzfdA8S4U7OIBiSvC3YB2/xKff7QaKsFZrGj7Tz2bWrIkY8PVbM4vTAnHdna/gtqpRmyai7vmFh795KsalpPGLxLud0esgoRLvjAiqeSBuq6La3pIail0KIjtiSOoy3CcZm4tgMHe86f9sqEIHMwF89LbWL4OJcOaMg7MPZnCXZYfxaPNOBxk+PBQWYzcVvf1ZKp9c+zruaDDTsZ2KIfB39a8KGaKnVTSiTiA6KO2NH0uWvaTSAn4t7o925UTMczSlvyUwfcn0FMu+htGx3DAi075aRPC4SPi965bS2Q+rGIdh4SNwY8eKjI4IyeCyvQ6HQtbsd4/jsSFVFrRZB/e2maJGdqckseKCmkYmzzA+SVenqpqH2lHf86UR4GTzQq/e+hPJrXdvnx8xsKrfN8AKGawbt0rHox5kipl1QEKzfczsMb1GnoQpcevbAQdarGVohpz+aDogW27XU/QvLAWcV2GSv0vZ/V/f/gZqLhnOHSGo3f98661f94niNTIabmE0sLJg9p25sTl7ubfvw9XxdPi6gPBd9z95ogJ8OFMGxlpVJAwLQnm+Sem5mYZcCu/wK7MtZf2g3xAjA3PiFuowCaFNBmDBk6DSCNBuujzFAaCAu0jwLPozrBZ8aSwENKlrp/+mPwdzNRIv7dShHE/ccLDS3WuyulSdoKVo2cBOjQ4nygZL/Y+84RZV8/rj5TTgrGt3TptwIwoAUIZoMwSq5uRTgQ1w/qqFJZap1FDWQJSVgde2dToOImb1bo/5Bwqkjci5vf1wSVSS7+Sgv5Ay97d1wKlAq2uUQCvXgoZNAE4BXcuGPqd3qCoLt1c63UyrnGRkzvby0/i4c/Cm89Hoh1tbOOqOWfIZTmssRNGv 9CT5meZw H9Ok3u0dSfy/n1mNfvC6+wJy7hpTxVWVmuimYO8t4x62M+yQ+Ejx4fasJhoZvwH+848q+zdpdnkrQ3zqG05m0nTO6VSWGByvTUQrJXu02UBVN4ap5PH/UNuKnLFqsMV0L+YsJPzzPyPxxjWgjA5fWbPO15BkJQnTLFQmACiUc1XoEw+zYYVcyn5GM5v4k57r9qbWwtnxFhUXayoVAhj22dmaHf0uS4noEFN2Jz9ZbR95KIddOZYk9AFi9tcep6eKkuQfQo4Lc1w+FDtwpJcoERdQuO6boUU/Ue19Hmb7cIdu8q8Rz7pSV3AWRBTBZo31D0qpfKfA2gxTRGpaEtRgkeDTI5gau16NYi8G0PSufN8IPZFiX+8ggEse217AxcXdDo6gTT3ctYHLqNO1xRsxt04E55XmWQgqidH0XKlN1g9wQM0d44KlIf7YbVDauwiIEeaULYBDPPM5KGCiJzOTUpra2Kw== 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: List-Subscribe: List-Unsubscribe: On Sun, 11 Aug 2024, Pedro Falcato wrote: > > > diff --git a/mm/slab_common.c b/mm/slab_common.c > > > index 40b582a014b..1abe6a577d5 100644 > > > --- a/mm/slab_common.c > > > +++ b/mm/slab_common.c > > > @@ -88,6 +88,19 @@ unsigned int kmem_cache_size(struct kmem_cache *s) > > > EXPORT_SYMBOL(kmem_cache_size); > > > > > > #ifdef CONFIG_DEBUG_VM > > > + > > > +static bool kmem_cache_is_duplicate_name(const char *name) > > > +{ > > > + struct kmem_cache *s; > > > + > > > + list_for_each_entry(s, &slab_caches, list) { > > > + if (!strcmp(s->name, name)) > > > + return true; > > > + } > > > + > > > + return false; > > > +} > > > + > > > static int kmem_cache_sanity_check(const char *name, unsigned int size) > > > { > > > if (!name || in_interrupt() || size > KMALLOC_MAX_SIZE) { > > > @@ -95,6 +108,11 @@ static int kmem_cache_sanity_check(const char *name, unsigned int size) > > > return -EINVAL; > > > } > > > > > > + if (kmem_cache_is_duplicate_name(name)) { > > > + /* Duplicate names will confuse slabtop, et al */ > > > + pr_warn("%s: name %s already exists as a cache\n", __func__, name); > > > > > > Shouldn't this be a full WARN_ON() instead of pr_warn()? I assume we'll > > be interested in who is adding the cache when the name already exists. > > panic_on_warn? :) > Would get the problem fixed up pretty fast, no? :) > Personally I don't have anything against WARN_ON, but we've seen that > panic_on_warn is a real thing on real systems, and DEBUG_VM is also > set on real prod configs (like Fedora does/used to do). I've sent out > one or two loose patches for problems I did find in my own testing > around, but there may be many more (e.g some drivers may call > kmem_cache_create repeatedly in some sort of callback, like 9pfs was > doing when mounting; this is not greppable). And I'd guess grepping > for cache names tends to be easy enough? > Can we add a dump_stack() to make this way easier instead of hiding who is creating the duplicate name?