LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Jens Axboe <jens.axboe@oracle.com>, Jeff Garzik <jeff@garzik.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	IDE/ATA development list <linux-ide@vger.kernel.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: request to revert libata-convert-to-block-tagging patches
Date: Mon, 10 Nov 2008 14:19:05 +0900	[thread overview]
Message-ID: <4917C449.2080504@kernel.org> (raw)

Hello, all.

I went through libata-convert-to-block-tagging today and found several
issues.

1. libata internal data structure for command context (qc) allocation is
bound to tag allocation, which means that block layer tagging should be
enabled for all controllers which have can_queue > 1.

2. blk-tag offsets allocation for non-sync requests.  I'm not confident
this is safe.  Till now, if there was only single command in flight for
the port, it was guaranteed that the qc gets tag zero whether the device
is NCQ capable or not.  qc allocation is tied tightly with hardware
command slot allocation and I don't think it's wise to change this
assumption.

#1 is easy to fix but #2 requires either adding a spinlock or two atomic
variables to struct blk_queue_tag to keep the current behavior while
guaranteeing that tags are used in order.  Also, there's delay between
libata marks a request complete and the request actually gets completed
and the tag is freed.  If another request gets issued inbetween, the tag
number can't be guaranteed.  This can be worked around by re-mapping tag
number in libata depending on command type but, well then, it's worse
than the original implementation.

So, please revert the following commits.

43a49cbdf31e812c0d8f553d433b09b421f5d52c
e013e13bf605b9e6b702adffbe2853cfc60e7806
2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e

Thanks.

-- 
tejun

             reply	other threads:[~2008-11-10  5:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-10  5:19 Tejun Heo [this message]
2008-11-10  5:30 ` Tejun Heo
2008-11-10  5:48   ` [PATCH] libata: revert convert-to-block-tagging patches Tejun Heo
2008-11-10 12:05 ` request to revert libata-convert-to-block-tagging patches Jens Axboe
2008-11-10 12:09   ` Jens Axboe
2008-11-10 16:00     ` Linus Torvalds
2008-11-10 17:10       ` Jens Axboe
2008-11-10 13:24   ` Tejun Heo
2008-11-10 16:03     ` Linus Torvalds
2008-11-10 22:55 ` Jeff Garzik
2008-11-12  1:11   ` Linus Torvalds

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=4917C449.2080504@kernel.org \
    --to=tj@kernel.org \
    --cc=jeff@garzik.org \
    --cc=jens.axboe@oracle.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --subject='Re: request to revert libata-convert-to-block-tagging patches' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).