From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934771Ab3BTSs7 (ORCPT ); Wed, 20 Feb 2013 13:48:59 -0500 Received: from mail-pa0-f52.google.com ([209.85.220.52]:53593 "EHLO mail-pa0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934293Ab3BTSs5 (ORCPT ); Wed, 20 Feb 2013 13:48:57 -0500 From: Kevin Hilman To: Frederic Weisbecker Cc: Ingo Molnar , LKML , Andrew Morton , Li Zhong , Namhyung Kim , "Paul E. McKenney" , Paul Gortmaker , Peter Zijlstra , Steven Rostedt , Thomas Gleixner , Sedat Dilek , Gleb Natapov , Marcelo Tosatti , Tony Luck , Fenghua Yu Subject: Re: [GIT PULL] cputime: Full dynticks task/cputime accounting v7 References: <1359399845-10568-1-git-send-email-fweisbec@gmail.com> <87k3qa7333.fsf@linaro.org> Date: Wed, 20 Feb 2013 10:48:53 -0800 In-Reply-To: (Frederic Weisbecker's message of "Wed, 20 Feb 2013 16:44:24 +0100") Message-ID: <877gm2rfca.fsf@linaro.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Frederic Weisbecker writes: > 2013/2/15 Kevin Hilman : >> Frederic Weisbecker writes: >> >>> Ingo, >>> >>> Please pull the new full dynticks cputime accounting code that >>> can be found at: >>> >>> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git >>> tags/full-dynticks-cputime-for-mingo >>> >>> My last concern is the dependency on CONFIG_64BIT. We rely on cputime_t >>> being u64 for reasonable nanosec granularity implementation. And therefore >>> we need a single instruction fetch to read kernel cpustat for atomicity >>> requirement against concurrent incrementation, which only 64 bit archs >>> can provide. >> >> Actually, moderately recent 32-bit ARMs can do atomic 64-bit load/stores >> too. > > Does gcc automatically handle 64 bit store/loads in one way or does > that require specific CPU instructions? For atomic load/stores, it requires specific instructions that gcc will not generate, so the atomic64 accessors are needed on ARM. Kevin