From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752674Ab1LUIGK (ORCPT ); Wed, 21 Dec 2011 03:06:10 -0500 Received: from mail-tul01m020-f174.google.com ([209.85.214.174]:39084 "EHLO mail-tul01m020-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752363Ab1LUIGI (ORCPT ); Wed, 21 Dec 2011 03:06:08 -0500 MIME-Version: 1.0 In-Reply-To: References: Date: Wed, 21 Dec 2011 10:06:07 +0200 X-Google-Sender-Auth: nfqmD1CgHh8Mt6RSsMw2Pw1hmjs Message-ID: Subject: Re: [GIT PULL] slab fixes for 3.2-rc4 From: Pekka Enberg To: Christoph Lameter Cc: Linus Torvalds , Ingo Molnar , Andrew Morton , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, Tejun Heo , Thomas Gleixner Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 20 Dec 2011, Pekka Enberg wrote: >> To illustrate the issue, for "per cpu add" we have: >> >> __this_cpu_add() >> this_cpu_add() >> irqsafe_cpu_add() >> percpu_add() >> >> Why do we need all of them? On Tue, Dec 20, 2011 at 6:26 PM, Christoph Lameter wrote: > These are all operations that frequently occur in hot paths of the OS. It's a provably difficult API to use that has pretty much zero debugging code. That's a problem. I still don't understand why we'd want separate preempt safe and irqsafe variants. It should be enough to have only unsafe and safe variants where the latter would always do the right thing. Pekka