All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jaxboe@fusionio.com>
To: Eric Seppanen <eds@reric.net>
Cc: Christoph Hellwig <hch@infradead.org>,
	"Sam Bradshaw (sbradshaw)" <sbradshaw@micron.com>,
	"alan@lxorguk.ukuu.org.uk" <alan@lxorguk.ukuu.org.uk>,
	"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Jeff Garzik <jgarzik@pobox.com>,
	"jmoyer@redhat.com" <jmoyer@redhat.com>,
	"Asai Thambi Samymuthu Pattrayasamy (asamymuthupa) [CONTRACTOR]"
	<asamymuthupa@micron.com>
Subject: Re: [PATCH v4] drivers/block/mtip32xx: Adding new driver mtip32xx
Date: Tue, 13 Sep 2011 23:03:16 +0200	[thread overview]
Message-ID: <4E6FC514.7070401@fusionio.com> (raw)
In-Reply-To: <CAJqx+goSvc75q0gr3AkG3RqXi5_rUCuy+igx9+EZBFvyZLj39A@mail.gmail.com>

On 2011-09-13 18:46, Eric Seppanen wrote:
> On Tue, Sep 13, 2011 at 5:49 AM, Christoph Hellwig <hch@infradead.org> wrote:
>> Btw, there is another _huge_ issue with the driver, and that is the
>> lack of any internal queueing.  Remember the make_request interface is
>> an extremly thin layer (or rather the lack of it) below the filesystem.
>>
>> So for example if eh_active is non-zero you return -EBUSY to the
>> filesystems.  That's an error code it a) doesn't recognize and b)
>> couldn't handle even if it did.  Similarly mtip_hw_get_scatterlist
>> simply blocks if no tag is currently available instead of queueing
>> it up.
> 
> Just out of curiosity, why is blocking on no-tag-available a bad
> thing?  How is it any different than the blocking that will occur when
> a request queue is full?  When the hardware queue depth is bigger than
> that of a request queue, what extra benefit does queuing give?

The blocking for a free tag is fine, the actual implementation is
definitely not optimal (using a rw semaphore with count initialized to
the tag depth, ugh). You'll need to block for a free tag in any case, or
add a thread to restart things on a free tag. The thread would not help
performance.

But the -EBUSY is definitely a bug, that needs to be a waiting condition
as well.

-- 
Jens Axboe


  reply	other threads:[~2011-09-13 21:03 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-11 18:52 [PATCH v3 2/3] drivers/block/mtip32xx: Adding source for hardware related operations Asai Thambi Samymuthu Pattrayasamy (asamymuthupa) [CONTRACTOR]
2011-08-11 18:52 ` Asai Thambi Samymuthu Pattrayasamy (asamymuthupa) [CONTRACTOR]
2011-08-12  8:42 ` Jens Axboe
2011-08-18  0:18   ` Asai Thambi S P
2011-08-22 21:28   ` [PATCH v4] drivers/block/mtip32xx: Adding new driver mtip32xx Sam Bradshaw (sbradshaw)
2011-08-22 21:28     ` Sam Bradshaw (sbradshaw)
2011-09-01 19:43     ` Jeff Moyer
2011-09-01 19:43       ` Jeff Moyer
2011-09-01 19:46       ` Jens Axboe
2011-09-09  8:54     ` Christoph Hellwig
2011-09-09  8:58       ` Jens Axboe
2011-09-09  9:02         ` Christoph Hellwig
2011-09-09 15:10         ` Sam Bradshaw (sbradshaw)
2011-09-09 15:10           ` Sam Bradshaw (sbradshaw)
2011-09-12 15:02         ` Christoph Hellwig
2011-09-12 18:25           ` Jens Axboe
2011-09-30 13:33         ` Christoph Hellwig
2011-09-30 19:45           ` Asai Thambi S P
2011-09-30 21:20           ` Jens Axboe
2011-09-30 19:49         ` Asai Thambi S P
2011-09-13 12:49       ` Christoph Hellwig
2011-09-13 16:46         ` Eric Seppanen
2011-09-13 21:03           ` Jens Axboe [this message]
     [not found] <2A9BE4FF6209B644B6F8EB62DE6AEA1E07765C71@ntxfrembx01.micron.com>
2011-09-01 22:23 ` 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=4E6FC514.7070401@fusionio.com \
    --to=jaxboe@fusionio.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=asamymuthupa@micron.com \
    --cc=eds@reric.net \
    --cc=hch@infradead.org \
    --cc=jgarzik@pobox.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-ide@vger.kernel.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.