From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932186AbdBPOnj (ORCPT ); Thu, 16 Feb 2017 09:43:39 -0500 Received: from mout.gmx.net ([212.227.15.18]:50988 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754441AbdBPOnh (ORCPT ); Thu, 16 Feb 2017 09:43:37 -0500 Message-ID: <1487256179.28442.8.camel@gmx.de> Subject: Re: [RT] lockdep munching nr_list_entries like popcorn From: Mike Galbraith To: Peter Zijlstra , Thomas Gleixner Cc: RT , LKML , Sebastian Andrzej Siewior Date: Thu, 16 Feb 2017 15:42:59 +0100 In-Reply-To: <20170216110618.GC6557@twins.programming.kicks-ass.net> References: <1487224986.5258.45.camel@gmx.de> <1487235000.5258.48.camel@gmx.de> <20170216110618.GC6557@twins.programming.kicks-ass.net> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:aU3uCUDlSzssEEkMDQ9E1KWBmUr7eW9DSub/npJZy7nWr90sShi SX+4/o/KeMFa06XqkRwbmbukorwwBY6rRlNSGxajd53REE5a2ix1sVr7BSs7MCOdz7IEnNN Ppdn/oFNk0FEyRb0ehsA5azJl+HlAof42XAwAOhCa0dRqyNFmSjeSNXa4Gh7NE4KI6tmtQD Gl5SVzcRhi0tyYb+s3MyA== X-UI-Out-Filterresults: notjunk:1;V01:K0:f0p1cIGPOvM=:w9NQ+ZIXK79NhktVv62NLn 8gn/R8TGvVKSD/dFr3SThq07r2n60EH22U82M4irVoz7k8ReQjZZTyxHzRN2iEOGPpdc/+Umb DMYqfIciUlKRFdMCMPGIPVp3Zo8DeOXVmCIJmhNXIPhj5ysJAzMmchwQAc4+NA8O8tx0b+Dcq 6Jua15F0z9/y7zYmIAUXf1j9MonCxnGb8zdnSCmM9ZNHm0h7yK1uVGEfS9iWbBYveewwn8OTc b3sL0jolH1JlGZGmaVZ0Rm/9FoOPAtOCdrOWfgljDWhviTKCrBmH0+R+frxZ3xGYizZeSLi5k GVmmQdIQ/fhHecMPdVN5HLuxZIx5RDYd/NEd2eTUYC6P3KLoyqa+CRmgx9+WXn8K3Vi2fN7Te mpJByccRlkbq+mCgGxXPFirwoJzQ6vzpFTFrAzVyxQogWj2hG9qxzMCtu+U8+5/FjrDyu4U23 3YRkpc9DTmcLpl4qkG2cn8k2PIQABLBWGcchdG/nGnWwFV2JEyZGH/PxjMMdcmNO28r1e1MJI CyE/qkZ04epCb/s8lvtj1lZWZX60P1B9bFcXjwuuXY4itgt+TLhDrRd15TN2eFSXR8A8rDhEX 9RAgBZO1Du0EM4jZsvHfY0gwLX0WsfcfoYf8EAb/XgMPEfLXfYDD90exjDl1OiIADz8y4TmhL Xyk2wV4PVpH9WjM3tMwkUYnLiUL2+k2nAb5qQ0BxFv9NNROGkYQ68wCbW864CPSPXSaPPq2pQ 70iIEsUNTGuNs0qhuuth7iUDeBpOh4aueyoCPEqIE58b8GTzKOn9duVp6mCW0qLEeA7vPqfuS D3RY2hU Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2017-02-16 at 12:06 +0100, Peter Zijlstra wrote: > On Thu, Feb 16, 2017 at 10:01:18AM +0100, Thomas Gleixner wrote: > > On Thu, 16 Feb 2017, Mike Galbraith wrote: > > > > > On Thu, 2017-02-16 at 09:37 +0100, Thomas Gleixner wrote: > > > > On Thu, 16 Feb 2017, Mike Galbraith wrote: > > > > > > > ... > > > > > swapvec_lock? Oodles of 'em? Nope. > > > > > > > > Well, it's a per cpu lock and the lru_cache_add() variants might be called > > > > from a gazillion of different call chains, but yes, it does not make a lot > > > > of sense. We'll have a look. > > > > > > Adding explicit local_irq_lock_init() makes things heaps better, so > > > presumably we need better lockdep-foo in DEFINE_LOCAL_IRQ_LOCK(). > > > > Bah. > > > #ifdef CONFIG_DEBUG_LOCK_ALLOC > #define PER_CPU_DEP_MAP_INIT(lockname) \ > .dep_map = { \ > .key = ({ static struct lock_class_key __key; &__key }), \ > .name = #lockname, \ > } > #else > #define PER_CPU_DEP_MAP_INIT(lockname) > #endif > > #define DEFINE_LOCAL_IRQ_LOCK(lvar) \ > DEFINE_PER_CPU(struct local_irq_lock, lvar) = { \ > .lock = { .rlock = { \ > .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ > SPIN_DEBUG_INIT(lvar) \ > PER_CPU_DEP_MAP_INIT(lvar) \ > } } \ > } > > That's fairly horrible for poking inside all the internals, but it might > just work ;- Weeell, I'm trying to cobble something kinda like that together using __RT_SPIN_INITIALIZER() instead, but seems mean ole Mr. Compiler NAKs the PER_CPU_DEP_MAP_INIT() thingy. CC mm/swap.o mm/swap.c:54:689: error: braced-group within expression allowed only inside a function -Mike