From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932579AbbD0LTV (ORCPT ); Mon, 27 Apr 2015 07:19:21 -0400 Received: from e06smtp11.uk.ibm.com ([195.75.94.107]:38889 "EHLO e06smtp11.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932508AbbD0LTT (ORCPT ); Mon, 27 Apr 2015 07:19:19 -0400 Date: Mon, 27 Apr 2015 13:18:42 +0200 From: Heiko Carstens To: Rik van Riel Cc: linux-kernel@vger.kernel.org, Andy Lutomirsky , Frederic Weisbecker , Peter Zijlstra , williams@redhat.com Subject: Re: [PATCH v2] context_tracking: remove local_irq_save from __acct_update_integrals Message-ID: <20150427111842.GA4491@osiris> References: <20150424111653.2a87a103@annuminas.surriel.com> <20150425094346.GA5897@osiris> <553B8DA9.3060600@surriel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <553B8DA9.3060600@surriel.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15042711-0041-0000-0000-000004359CA2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 25, 2015 at 08:50:49AM -0400, Rik van Riel wrote: > On 04/25/2015 05:43 AM, Heiko Carstens wrote: > > ...the READ_ONCE() doesn't give you any guarantees about reading > > tsk->acct_timexpd in an atomic way. > > Well, actually you don't need atomic semantics, but only to make sure that > > the read access happens with a single instruction, since you want to protect > > against interrupts. > > But still: if the size of acct_timexpd is 64 bit READ_ONCE() may still result > > in two instructions on 32 bit architectures. > > (or isn't there currently no 32 bit architecture with 64 bit cputime_t left?) > > Even if there is (maybe some ARM system?), can we even guarantee > that a single instruction to read 64 bits exists on such a system? I wouldn't bet on it. I can only talk for s390 and there is an instruction available which would do that. But since s390 is now a 64 bit only architecture it doesn't matter anyway. For other architectures I'd say: no, you can't rely on that.