From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 4/6 v2] mmc: block: move single ioctl() commands to block requests Date: Wed, 5 Jul 2017 21:00:16 +0200 Message-ID: <20170705190016.GA7008@lst.de> References: <20170518092936.9277-1-linus.walleij@linaro.org> <20170518092936.9277-4-linus.walleij@linaro.org> <20170518093614.GB9250@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20170518093614.GB9250@lst.de> Sender: linux-block-owner@vger.kernel.org To: Linus Walleij Cc: linux-mmc@vger.kernel.org, Ulf Hansson , Adrian Hunter , linux-block@vger.kernel.org, Jens Axboe , Christoph Hellwig , Arnd Bergmann , Bartlomiej Zolnierkiewicz , Paolo Valente List-Id: linux-mmc@vger.kernel.org Hi Linus, On Thu, May 18, 2017 at 11:36:14AM +0200, Christoph Hellwig wrote: > On Thu, May 18, 2017 at 11:29:34AM +0200, Linus Walleij wrote: > > We are storing the ioctl() in/out argument as a pointer in > > the per-request struct mmc_blk_request container. > > Btw, for the main ioctl data (not the little reponse field) it might > make sense to use blk_rq_map_user, which will do a get_user_pages > on the user data if the alignment fits, and otherwise handle the > kernel bounce buffering for you. This should simplify the code > quite a bit more, and in the case where you can access the user > memory directly provide a nice little performance boost. Did you get a chance to look into this?