From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934566AbcALJGr (ORCPT ); Tue, 12 Jan 2016 04:06:47 -0500 Received: from bombadil.infradead.org ([198.137.202.9]:46137 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934503AbcALJGf (ORCPT ); Tue, 12 Jan 2016 04:06:35 -0500 Date: Tue, 12 Jan 2016 10:06:29 +0100 From: Peter Zijlstra To: Davidlohr Bueso Cc: Andrew Morton , linux-kernel@vger.kernel.org, Davidlohr Bueso Subject: Re: [PATCH] rbtree: use READ_ONCE in RB_EMPTY_ROOT Message-ID: <20160112090629.GO6344@twins.programming.kicks-ass.net> References: <1452536563-1762-1-git-send-email-dave@stgolabs.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1452536563-1762-1-git-send-email-dave@stgolabs.net> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 11, 2016 at 10:22:43AM -0800, Davidlohr Bueso wrote: > With d72da4a4d97 (rbtree: Make lockless searches non-fatal) our rbtrees > provide weak guarantees that allows us to do lockless (and very speculative) > reads of the tree. Such readers cannot see partial stores on nodes, ie > left/right as well as root. As such, similar to the WRITE_ONCE semantics when > doing rotations, use READ_ONCE when checking the root node in RB_EMPTY_ROOT. No objection, but is this actually used anywhere? Or is this a just-in-case completeness thing?