From: David Vrabel <david.vrabel@citrix.com>
To: Felipe Franciosi <felipe@paradoxo.org>
Cc: Jens Axboe <axboe@kernel.dk>, <linux-kernel@vger.kernel.org>,
Sam Bradshaw <sbradshaw@micron.com>
Subject: Re: [PATCH 1/2] mtip32xx: Don't bounce IO requests
Date: Wed, 12 Mar 2014 17:18:32 +0000 [thread overview]
Message-ID: <532096E8.1010706@citrix.com> (raw)
In-Reply-To: <CANxchRSOpr63_GuktU_Y53y=vE0n+x6tqQ+=+uo_WgMGP13yRQ@mail.gmail.com>
On 12/03/14 17:08, Felipe Franciosi wrote:
> On Wed, Mar 12, 2014 at 4:16 PM, Jens Axboe <axboe@kernel.dk> wrote:
>>
>> On 03/12/2014 10:05 AM, Felipe Franciosi wrote:
>>>
>>> This device support 64-bit DMA and therefore no IO requests needs bouncing.
>>> On 32-bit systems, blk_queue_bounce() will bounce all IO requests with high
>>> mem pages. This makes performance really really bad.
[...]
>>> --- a/drivers/block/mtip32xx/mtip32xx.c
>>> +++ b/drivers/block/mtip32xx/mtip32xx.c
>>> @@ -4082,8 +4082,6 @@ static void mtip_make_request(struct request_queue *queue, struct bio *bio)
>>>
>>> sg = mtip_hw_get_scatterlist(dd, &tag, unaligned);
>>> if (likely(sg != NULL)) {
>>> - blk_queue_bounce(queue, &bio);
>>> -
>>> if (unlikely((bio)->bi_vcnt > MTIP_MAX_SG)) {
>>> dev_warn(&dd->pdev->dev,
>>> "Maximum number of SGL entries exceeded\n");
>>
>>
>> That seems to be because the driver forgets to set the DMA
>> capabilities. It needs a blk_queue_bounce_limit() call when it sets up
>> the queue.
>
> Hmm... I see what you are saying. David, would you like to comment?
Yes, it should also call blk_queue_bounce_limit(..., BLK_BOUNCE_ANY) in
mtip_block_initialize() as well.
But, only one other driver calls blk_queue_bounce() so it's difficult to
see why this driver would need a call here.
David
next prev parent reply other threads:[~2014-03-12 17:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-12 16:05 [PATCH 0/2] mtip32xx: Fix arch-specific driver issues Felipe Franciosi
2014-03-12 16:05 ` [PATCH 1/2] mtip32xx: Don't bounce IO requests Felipe Franciosi
2014-03-12 16:16 ` Jens Axboe
2014-03-12 17:08 ` Felipe Franciosi
2014-03-12 17:18 ` David Vrabel [this message]
2014-03-12 17:19 ` Jens Axboe
2014-03-12 17:44 ` Felipe Franciosi
2014-03-12 16:05 ` [PATCH 2/2] mtip32xx: Unmap the DMA segments before completing the IO request Felipe Franciosi
2014-03-12 16:16 ` Jens Axboe
2014-03-12 19:04 ` Sam Bradshaw
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=532096E8.1010706@citrix.com \
--to=david.vrabel@citrix.com \
--cc=axboe@kernel.dk \
--cc=felipe@paradoxo.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sbradshaw@micron.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.