From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933244AbbCRQmx (ORCPT ); Wed, 18 Mar 2015 12:42:53 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:50433 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933211AbbCRQms (ORCPT ); Wed, 18 Mar 2015 12:42:48 -0400 Date: Wed, 18 Mar 2015 09:42:40 -0700 From: josh@joshtriplett.org To: Mathieu Desnoyers Cc: linux-kernel@vger.kernel.org, "Paul E. McKenney" , KOSAKI Motohiro , Steven Rostedt , Nicholas Miell , Linus Torvalds , Ingo Molnar , Alan Cox , Lai Jiangshan , Stephen Hemminger , Andrew Morton , Thomas Gleixner , Peter Zijlstra , David Howells Subject: Re: [RFC PATCH v14] sys_membarrier(): system/process-wide memory barrier (x86) Message-ID: <20150318164240.GA31251@cloud> References: <1426695782-4742-1-git-send-email-mathieu.desnoyers@efficios.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1426695782-4742-1-git-send-email-mathieu.desnoyers@efficios.com> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 18, 2015 at 12:23:02PM -0400, Mathieu Desnoyers wrote: > memory barriers in reader: 1701557485 reads, 3129842 writes > signal-based scheme: 9825306874 reads, 5386 writes > sys_membarrier: 7992076602 reads, 220 writes > > The dynamic sys_membarrier availability check adds some overhead to > the read-side compared to the signal-based scheme, but besides that, > with the expedited scheme, we can see that we are close to the read-side > performance of the signal-based scheme. However, this non-expedited > sys_membarrier implementation has a much slower grace period than signal > and memory barrier schemes. Doesn't the query flag allow you to find out in advance rather than dynamically within the reader? What's the reader performance if you hardcode availability of membarrier? - Josh Triplett