From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751249AbdBTWit (ORCPT ); Mon, 20 Feb 2017 17:38:49 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:33518 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750981AbdBTWis (ORCPT ); Mon, 20 Feb 2017 17:38:48 -0500 Date: Mon, 20 Feb 2017 23:38:44 +0100 From: Ingo Molnar To: Linus Torvalds Cc: Linux Kernel Mailing List , Peter Zijlstra , Thomas Gleixner , "Paul E. McKenney" , Andrew Morton Subject: Re: [GIT PULL] locking changes for v4.11 Message-ID: <20170220223844.GA12642@gmail.com> References: <20170220095420.GA17198@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Linus Torvalds wrote: > On Mon, Feb 20, 2017 at 1:54 AM, Ingo Molnar wrote: > > > > - Implement wraparound-safe refcount_t and kref_t types based on generic atomic > > primitives (Peter Zijlstra) > > Ugh. This apparently never got the uninlining fixes? Yeah, will fix it ASAP! > I've pulled it, but I still don't like the inlining. Particularly with > CONFIG_DEBUG_REFCOUNT it generates obnnoxious code, but even without > the debugging there's just no point in it. > > Being inlined also means that architectures cannot optimize it, which > is sad. If you have a LL/SC model for atomics, then using > atomic_cmpxchg_relaxed() for the refcounting is just too stupid for > words. > > So I continue to think this code should > > (a) be in lib/refcount.c, with just the declarations in the header > file (oh, keep the "set" and "read" functions inline by all means) > > (b) be marked __weak, so that architectures like ARM/PPC can decide > to do their own improved implementations. Yeah, agreed, will do. > But as mentioned, it's in my tree as-is now and going through the build test. Thanks! Ingo