Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756025AbcJLVlW (ORCPT ); Wed, 12 Oct 2016 17:41:22 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:38354 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750922AbcJLVlN (ORCPT ); Wed, 12 Oct 2016 17:41:13 -0400 Date: Wed, 12 Oct 2016 14:41:12 -0700 From: Andrew Morton To: zijun_hu Cc: tj@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, zijun_hu@htc.com, cl@linux.com Subject: Re: [RFC v2 PATCH] mm/percpu.c: fix panic triggered by BUG_ON() falsely Message-Id: <20161012144112.0494082cf4cbd07609d2405d@linux-foundation.org> In-Reply-To: <57FCF07C.2020103@zoho.com> References: <57FCF07C.2020103@zoho.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 895 Lines: 18 On Tue, 11 Oct 2016 22:00:28 +0800 zijun_hu wrote: > as shown by pcpu_build_alloc_info(), the number of units within a percpu > group is educed by rounding up the number of CPUs within the group to > @upa boundary, therefore, the number of CPUs isn't equal to the units's > if it isn't aligned to @upa normally. however, pcpu_page_first_chunk() > uses BUG_ON() to assert one number is equal the other roughly, so a panic > is maybe triggered by the BUG_ON() falsely. > > in order to fix this issue, the number of CPUs is rounded up then compared > with units's, the BUG_ON() is replaced by warning and returning error code > as well to keep system alive as much as possible. Under what circumstances is the triggered? In other words, what are the end-user visible effects of the fix? I mean, this is pretty old code (isn't it?) so what are you doing that triggers this?