From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752968AbcKJAco (ORCPT ); Wed, 9 Nov 2016 19:32:44 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:49926 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751596AbcKJAcn (ORCPT ); Wed, 9 Nov 2016 19:32:43 -0500 Date: Wed, 9 Nov 2016 16:32:41 -0800 From: Andrew Morton To: Andi Kleen Cc: Vitaly Wool , Linux-MM , linux-kernel@vger.kernel.org, Dan Streetman Subject: Re: [PATCH v3] z3fold: use per-page read/write lock Message-Id: <20161109163241.c73742590270710040fdd25a@linux-foundation.org> In-Reply-To: <20161109230117.GO26852@two.firstfloor.org> References: <20161109115531.81d2a3fd4313236d483510f0@gmail.com> <20161109143304.538885b06a4b5d2289da1e52@linux-foundation.org> <20161109230117.GO26852@two.firstfloor.org> 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 On Wed, 9 Nov 2016 15:01:17 -0800 Andi Kleen wrote: > On Wed, Nov 09, 2016 at 02:33:04PM -0800, Andrew Morton wrote: > > On Wed, 9 Nov 2016 11:55:31 +0100 Vitaly Wool wrote: > > > > > Subject: [PATCH v3] z3fold: use per-page read/write lock > > > > I've rewritten the title to "mm/z3fold.c: use per-page spinlock" > > > > (I prefer to have "mm" in the title to easily identify it as an MM > > patch, and using "mm: z3fold: ..." seems odd when the actual pathname > > conveys the same info.) > > Still think it needs to be raw_spinlock_t, otherwise the build bug on > on the header size will break again. > > Better would be to fix that build bug though Yeah, that triggers for me immediately. We could suppress it with something silly like --- a/mm/z3fold.c~z3fold-use-per-page-read-write-lock-fix +++ a/mm/z3fold.c @@ -872,7 +872,7 @@ MODULE_ALIAS("zpool-z3fold"); static int __init init_z3fold(void) { /* Make sure the z3fold header will fit in one chunk */ - BUILD_BUG_ON(sizeof(struct z3fold_header) > ZHDR_SIZE_ALIGNED); + BUILD_BUG_ON(sizeof(struct z3fold_header) - sizeof(spinlock_t) > ZHDR_SIZE_ALIGNED); zpool_register_driver(&z3fold_zpool_driver); return 0; but that doesn't fix anything - the header is just too large with lockdep enabled. I'll drop the patch for now.