Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756233Ab3DZIFS (ORCPT ); Fri, 26 Apr 2013 04:05:18 -0400 Received: from merlin.infradead.org ([205.233.59.134]:59919 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753723Ab3DZIEx (ORCPT ); Fri, 26 Apr 2013 04:04:53 -0400 Date: Fri, 26 Apr 2013 10:03:13 +0200 From: Peter Zijlstra To: Simon Horman Cc: Eric Dumazet , Julian Anastasov , Ingo Molnar , lvs-devel@vger.kernel.org, netdev@vger.kernel.org, netfilter-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Pablo Neira Ayuso , Dipankar Sarma , "Paul E. McKenney" Subject: Re: [PATCH 2/2] ipvs: Use cond_resched_rcu_lock() helper when dumping connections Message-ID: <20130426080313.GC8669@dyad.programming.kicks-ass.net> References: <1366940708-10180-1-git-send-email-horms@verge.net.au> <1366940708-10180-3-git-send-email-horms@verge.net.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1366940708-10180-3-git-send-email-horms@verge.net.au> 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 Content-Length: 825 Lines: 23 On Fri, Apr 26, 2013 at 10:45:08AM +0900, Simon Horman wrote: > @@ -975,8 +975,7 @@ static void *ip_vs_conn_array(struct seq_file *seq, loff_t pos) > return cp; > } > } > - rcu_read_unlock(); > - rcu_read_lock(); > + cond_resched_rcu_lock(); > } While I agree with the sentiment I do find it a somewhat dangerous construct in that it might become far too easy to keep an RCU reference over this break and thus violate the RCU premise. Is there anything that can detect this? Sparse / cocinelle / smatch? If so it would be great to add this to these checkers. -- 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/