Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752858AbbKCJzr (ORCPT ); Tue, 3 Nov 2015 04:55:47 -0500 Received: from e37.co.us.ibm.com ([32.97.110.158]:57961 "EHLO e37.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750788AbbKCJzn (ORCPT ); Tue, 3 Nov 2015 04:55:43 -0500 X-IBM-Helo: d03dlp01.boulder.ibm.com X-IBM-MailFrom: paulmck@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Date: Tue, 3 Nov 2015 01:55:39 -0800 From: "Paul E. McKenney" To: Yunhong Jiang Cc: linux-kernel@vger.kernel.org, jiangshanlai@gmail.com Subject: Re: Can srcu_read_lock() be called from interrupt context? Message-ID: <20151103095539.GD29027@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20151103015656.GA10358@jnakajim-build> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151103015656.GA10358@jnakajim-build> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15110309-0025-0000-0000-00001E7652EA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1075 Lines: 26 On Mon, Nov 02, 2015 at 05:56:56PM -0800, Yunhong Jiang wrote: > Hi, Paul > I have a question to the srcu_read_lock(). Can it be invoked on > interrupt context? According to > http://lxr.free-electrons.com/source/kernel/rcu/srcu.c#L292 it can only be > called from process context, but according to > http://lxr.free-electrons.com/source/include/linux/srcu.h#L213 seems it's ok > from irq context only if it matches with the srcu_read_unlock. Can you > please give some hints? Adding Lai Jianshan for his thoughts. I believe that srcu.h is correct, at least assuming that interrupts do not nest too deeply. (If they were to nest four billion deep, then the ->seq[] counter could overflow, defeating the checks, but the CPU stack would have overflowed long before.) Lai, am I missing anything here? Thanx, Paul -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/