From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754775Ab1ASTqh (ORCPT ); Wed, 19 Jan 2011 14:46:37 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36297 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754081Ab1ASTqf (ORCPT ); Wed, 19 Jan 2011 14:46:35 -0500 From: Jeff Moyer To: Jan Kara Cc: Nick Piggin , Andrew Morton , linux-fsdevel , linux-kernel@vger.kernel.org Subject: Re: [patch] fs: aio fix rcu lookup References: <20110118190114.GA5070@quack.suse.cz> <20110118235236.GA14087@quack.suse.cz> <20110119132123.GC4246@quack.suse.cz> X-PGP-KeyID: 1F78E1B4 X-PGP-CertKey: F6FE 280D 8293 F72C 65FD 5A58 1FF8 A7CA 1F78 E1B4 X-PCLoadLetter: What the f**k does that mean? Date: Wed, 19 Jan 2011 14:46:27 -0500 In-Reply-To: (Jeff Moyer's message of "Wed, 19 Jan 2011 14:13:34 -0500") Message-ID: User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Jeff Moyer writes: > Jan Kara writes: > >> But there's the second race I describe making it possible >> for new IO to be created after io_destroy() has waited for all IO to >> finish... > > Can't that be solved by introducing memory barriers around the accesses > to ->dead? Upon further consideration, I don't think so. Given the options, I think adding the synchronize rcu to the io_destroy path is the best way forward. You're already waiting for a bunch of queued I/O to finish, so there is no guarantee that you're going to finish that call quickly. Cheers, Jeff