From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754855AbcDDJBx (ORCPT ); Mon, 4 Apr 2016 05:01:53 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:52745 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754816AbcDDJBv (ORCPT ); Mon, 4 Apr 2016 05:01:51 -0400 Date: Mon, 4 Apr 2016 11:01:43 +0200 From: Peter Zijlstra To: Dmitry Vyukov Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , "x86@kernel.org" , LKML , Ingo Molnar , Oleg Nesterov , syzkaller , Kostya Serebryany , Alexander Potapenko , Sasha Levin Subject: Re: lockdep WARNING in get_online_cpus Message-ID: <20160404090143.GW3448@twins.programming.kicks-ass.net> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 04, 2016 at 10:19:05AM +0200, Dmitry Vyukov wrote: > > This happens in CONFIG_DEBUG_LOCKDEP code. Is it a bug in lockdep? We hope not; but it is a new test. So lockdep needs to check each current lock stack against the recorded lock dependencies to see if we've gotten ourselves a cycle. Doing this check is _expensive_. So what lockdep does is it computes a hash for each lock stack and only if we've not seen this hash before (actually truncated since we don't have a full 64bit hashtable) do we go look for cycles. The new check tries to detect hash-collisions in this cache. A collision would result in not checking for cycles, even if we've not seen the stack before. You've managed to tickle this. Now, last week I found some bugs in there, and Alfredo added a pretty printer, so maybe try and add these patches to your testing? git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/urgent > But I always see at the same stack involving perf and jump_label... So you have a simple reproducer? So that I can have a go at this.