Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753942AbcKYIp2 (ORCPT ); Fri, 25 Nov 2016 03:45:28 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:63767 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753548AbcKYImJ (ORCPT ); Fri, 25 Nov 2016 03:42:09 -0500 From: Arnd Bergmann To: Vitaly Wool Cc: Joe Perches , Andrew Morton , Dan Streetman , zhong jiang , Linux-MM , LKML Subject: Re: [PATCH] z3fold: use %z modifier for format string Date: Fri, 25 Nov 2016 09:41:53 +0100 Message-ID: <3177176.drX8hSSUx4@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-34-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: References: <20161124163158.3939337-1-arnd@arndb.de> <1480007330.19726.11.camel@perches.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:xYCt1bxFdyhmCds7uTc+8mX/E1Nm9mRbnShQLWxzUsioNJLrUXx sHaGE3GcPrHKwB596T91Q05f7fVftuHOktaKk+m7vwGLqSD0v6nTKvoH0YCbL81hGt7mYRI w5kKoz1stH+elTnS1gk0FUKA73hnkhxxdK8wGqsYRyJj9ruck+S5aEG8/nUf2XYVoxZYJHv KoeiTVZe9jA83/YuSaGlw== X-UI-Out-Filterresults: notjunk:1;V01:K0:IzNWfmyLy14=:Dx+39bncJinyQ0CXr8SN4t LobSY7R0ATcR/yXYYl4u+M9O5UMRImBkXaQTskWXn6YYEMookgbqEQIfX73Tl6RkuPAhdH0BT WUXVqEsk3qX+fEbY9Fp2qXgMjV19iL/6bbE5/Mh6BSxJZh+WI4z5s7EpTByeh4ygLQTqPCYcg RjoNNXZX7o/NMSk9LZcOrkapX1gzYdEk42bClw1rl1Eg+7c8shAbzQRSL68pFkwCFDFnV+jem IqDSSV9nPyeyCLppz9/LFxo7FMk3NKmDhIbT4FT63VklDttmijJYDioqIbwMraWS1AWXJCrvT xqUwAUTcsAE5hBiN7nYD5TJ5AW1elbKudGJIAK7PzauikEQDkv221Qu54h9lELrw2GU0DRl2A 7mHZ0kIuOTnj2OQOXBVbg4H0sQDWE1RvLlEffkElgWcNOt1w+BIdYxR4gxnKSYQNPZGRq+kng k6mZYxv8wlbl37MmyCwlWGMvLtALfiikF2XfotRSccAiiO4qox/k2lr00pqIoERWj0APBmVuR hVMu/6KKeHRSrEsIK56+4zzPIpz4ikivHlqYMAPL92vuIXphXTRNqYeY1Eegenk/DEXomIRxg XEaCJXPmkdfBe1ltY224P/Z7UQk53IkTanRldrYxHNxi1mUFRzpMmCNfR3DxGmyG4/vlirtDn ol6muqiiUJ4+srqW4IvS1JwUKWs51r3TZdRWNQYRl2SahHDBjw2a4skQrMgkSSX2Sb+eLLlZU 5mZSh9h7+VHDQ4oY Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1606 Lines: 36 On Friday, November 25, 2016 8:38:25 AM CET Vitaly Wool wrote: > >> diff --git a/mm/z3fold.c b/mm/z3fold.c > >> index e282ba073e77..66ac7a7dc934 100644 > >> --- a/mm/z3fold.c > >> +++ b/mm/z3fold.c > >> @@ -884,7 +884,7 @@ static int __init init_z3fold(void) > >> { > >> /* Fail the initialization if z3fold header won't fit in one chunk */ > >> if (sizeof(struct z3fold_header) > ZHDR_SIZE_ALIGNED) { > >> - pr_err("z3fold: z3fold_header size (%d) is bigger than " > >> + pr_err("z3fold: z3fold_header size (%zd) is bigger than " > >> "the chunk size (%d), can't proceed\n", > >> sizeof(struct z3fold_header) , ZHDR_SIZE_ALIGNED); > >> return -E2BIG; > > > > The embedded "z3fold: " prefix here should be removed > > as there's a pr_fmt that also adds it. > > > > The test looks like it should be a BUILD_BUG_ON rather > > than any runtime test too. > > It used to be BUILD_BUG_ON but we deliberately changed that because > sizeof(spinlock_t) gets bloated in debug builds, so it just won't > build with default CHUNK_SIZE. Could this be improved by making the CHUNK_SIZE bigger depending on the debug options? Alternatively, how about using a bit_spin_lock instead of raw_spin_lock? That would guarantee a fixed size for the lock and make z3fold_header always 24 bytes (on 32-bit architectures) or 40 bytes (on 64-bit architectures). You could even play some tricks with the first_num field to make it fit in the same word as the lock and make the structure fit into 32 bytes if you care about that. Arnd