From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Moyer Subject: Re: [PATCH 1/8] gadgetfs: use schedule_work() instead of EIOCBRETRY Date: Mon, 26 Oct 2009 11:57:06 -0400 Message-ID: References: <1256243157-16667-1-git-send-email-zach.brown@oracle.com> <1256243157-16667-2-git-send-email-zach.brown@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org To: Zach Brown Return-path: Received: from mx1.redhat.com ([209.132.183.28]:59428 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753139AbZJZP5H (ORCPT ); Mon, 26 Oct 2009 11:57:07 -0400 In-Reply-To: <1256243157-16667-2-git-send-email-zach.brown@oracle.com> (Zach Brown's message of "Thu, 22 Oct 2009 13:25:50 -0700") Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Zach Brown writes: > gadgetfs was the sole mainline user of the retry mechanism offered by fs/aio.c. > It would set the iocb's ki_retry to a tiny function that is executed once an > async read completed. The function would simply copy data that was dmaed into > a kernel buffer out to the userspace buffer for the read. > > This use was not worth the complexity and volume of code needed to support > retrying iocbs in the aio core. Many other file systems already do this kind > of post processing work in their own threads today. This work that gadgetfs > does pales in comparison to the work that btrfs and xfs do. > > This patch moves this trivial copying into a work struct that is processed by > keventd. It uses the {un,}use_mm() calls which were recently promoted out of > aio into a proper API. > > This paves the way for removing the dangerous and slow retry functionality from > the aio core. > > Signed-off-by: Zach Brown Looks ok to me. Reviewed-by: Jeff Moyer