Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753182AbbGNSLp (ORCPT ); Tue, 14 Jul 2015 14:11:45 -0400 Received: from resqmta-ch2-02v.sys.comcast.net ([69.252.207.34]:41935 "EHLO resqmta-ch2-02v.sys.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753095AbbGNSLn (ORCPT ); Tue, 14 Jul 2015 14:11:43 -0400 Date: Tue, 14 Jul 2015 13:11:42 -0500 (CDT) From: Christoph Lameter X-X-Sender: cl@east.gentwo.org To: Konstantin Khlebnikov cc: linux-mm@kvack.org, Andrew Morton , linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] mm/slub: disable merging after enabling debug in runtime In-Reply-To: <20150714131705.21442.99279.stgit@buzz> Message-ID: References: <20150714131704.21442.17939.stgit@buzz> <20150714131705.21442.99279.stgit@buzz> Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1136 Lines: 26 On Tue, 14 Jul 2015, Konstantin Khlebnikov wrote: > Enabling debug in runtime breaks creation of new kmem caches: > they have incompatible flags thus cannot be merged but unique > names are taken by existing caches. What breaks? Caches may already have been merged and thus the question is what to do about a cache that has multiple aliases if a runtime option is requested. The solution that slub implements is to only allow a limited number of debug operations to be enabled. Those then will appear to affect all aliases of course. Creating additional caches later may create additional aliasing which will then restrict what options can be changed. Other operations are also restricted depending on the number of objects stored in a cache. A cache with zero objects can be easily reconfigured. If there are objects then modifications that impact object size are not allowed anymore. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/