Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264895AbTFLQVO (ORCPT ); Thu, 12 Jun 2003 12:21:14 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264887AbTFLQTM (ORCPT ); Thu, 12 Jun 2003 12:19:12 -0400 Received: from e5.ny.us.ibm.com ([32.97.182.105]:13776 "EHLO e5.ny.us.ibm.com") by vger.kernel.org with ESMTP id S264884AbTFLQS7 (ORCPT ); Thu, 12 Jun 2003 12:18:59 -0400 Date: Thu, 12 Jun 2003 22:05:27 +0530 From: Dipankar Sarma To: Linus Torvalds Cc: John M Flinchbaugh , linux-kernel@vger.kernel.org, Trond Myklebust , Maneesh Soni , Andrew Morton Subject: Re: 2.5.70-bk16: nfs crash Message-ID: <20030612163527.GD1438@in.ibm.com> Reply-To: dipankar@in.ibm.com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1362 Lines: 35 On Thu, Jun 12, 2003 at 09:18:11AM -0700, Linus Torvalds wrote: > > On Thu, 12 Jun 2003, Linus Torvalds wrote: > > > > If you depend on not re-initializing the pointers, you should not use the > > "xxx_del()" function, and you should document it. > > Besides, the code doesn't actually depend on not re-initializing the > pointers, it depends on the _forward_ pointers still being walkable in > case some other CPU is traversing the list just as we remove the entry. > > Which means that I think the proper patch is to (a) document this and also > (b) poison the back pointer. That should work. However, I do have once concern. At the generic list macro level, we don't know if the lockfree traversal is being done in forward or backward direction. So, I am not sure if list_del_rcu() should poison the backward pointer or atleast document the fact that RCU-based traversal would not work on backward pointers. hlist_del_rcu() can indeed poison pprev. > > A patch like the attached, in short. Since we are at it, I can submit a patch documenting the rest of hlist functions, if you like. Thanks Dipankar - 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/