From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753418AbbFJCBH (ORCPT ); Tue, 9 Jun 2015 22:01:07 -0400 Received: from resqmta-ch2-01v.sys.comcast.net ([69.252.207.33]:38318 "EHLO resqmta-ch2-01v.sys.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752289AbbFJCA7 (ORCPT ); Tue, 9 Jun 2015 22:00:59 -0400 Date: Tue, 9 Jun 2015 21:00:58 -0500 (CDT) From: Christoph Lameter X-X-Sender: cl@east.gentwo.org To: Andrew Morton cc: Sergey Senozhatsky , Minchan Kim , Pekka Enberg , Joonsoo Kim , Michal Hocko , David Rientjes , linux-mm@kvack.org, linux-kernel@vger.kernel.org, sergey.senozhatsky.work@gmail.com, Joe Perches Subject: Re: [RFC][PATCH 0/5] do not dereference NULL pools in pools' destroy() functions In-Reply-To: <20150609185150.8c9fed8d.akpm@linux-foundation.org> Message-ID: References: <1433851493-23685-1-git-send-email-sergey.senozhatsky@gmail.com> <20150609142523.b717dba6033ee08de997c8be@linux-foundation.org> <20150609185150.8c9fed8d.akpm@linux-foundation.org> Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 9 Jun 2015, Andrew Morton wrote: > > Why do this at all? > > For the third time: because there are approx 200 callsites which are > already doing it. Did some grepping and I did see some call sites that do this but the majority has to do other processing as well. 200 call sites? Do we have that many uses of caches? Typical prod system have ~190 caches active and the merging brings that down to half of that. > More than half of the kmem_cache_destroy() callsites are declining that > value by open-coding the NULL test. That's reality and we should recognize > it. Well that may just indicate that we need to have a look at those callsites and the reason there to use a special cache at all. If the cache is just something that kmalloc can provide then why create a special cache. On the other hand if something special needs to be accomplished then it would make sense to have special processing on kmem_cache_destroy.