linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bart Van Assche <bvanassche@acm.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>,
	linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
	"Martin K . Petersen" <martin.petersen@oracle.com>
Subject: Re: [PATCH v6 0/6] Disable fair tag sharing for UFS devices
Date: Mon, 4 Dec 2023 19:15:19 -0800	[thread overview]
Message-ID: <3a878745-a667-47ad-ac87-867a9bb8bd34@acm.org> (raw)
In-Reply-To: <20231204075252.GA29579@lst.de>

On 12/3/23 23:52, Christoph Hellwig wrote:
> On Thu, Nov 30, 2023 at 11:31:27AM -0800, Bart Van Assche wrote:
>> The fair tag sharing algorithm reduces performance for UFS devices
>> significantly. This is because UFS devices have multiple logical units, a
>> limited queue depth (32 for UFS 3.1 devices), because it happens often that
>> multiple logical units are accessed and also because it takes time to
>> give tags back after activity on a request queue has stopped. This patch series
>> restores UFS device performance to that of the legacy block layer by disabling
>> fair tag sharing for UFS devices.
> 
> I feel like a broken record:
> 
> fair tag sharing exists for a reason.  Opting out of it for a specific
> driver does not make any sense.  Either you can make a good argument
> why you don't want it at all, or for specific configurations you
> can clearly explain, or you make it work faster.  A "treat my driver
> special" flag is never acceptable.

Hi Christoph,

Feedback that helps improving a patch series is always welcome.

Here is how I see fair tag sharing:
* Users probably want to configure minimum and maximum bandwidth or IOPS
   values instead of an equal number of tags per request queue. I assume
   that the fair tag sharing algorithm assigns an equal number of tags to
   each request queue since the run-time cost of the latter algorithm is
   much lower than the run-time cost of the previous algorithms.
* Any algorithm that is more sophisticated than the current fair tag
   sharing algorithm would have a higher runtime cost. We don't want to
   increase the cost of command processing in the block layer core.

Hence my proposal to disable the fair tag sharing algorithm if it's not
needed. I don't see a good alternative to this approach.

Thanks,

Bart.

      reply	other threads:[~2023-12-05  3:15 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-30 19:31 [PATCH v6 0/6] Disable fair tag sharing for UFS devices Bart Van Assche
2023-11-30 19:31 ` [PATCH v6 1/4] block: Make fair tag sharing configurable Bart Van Assche
2023-12-01 12:52   ` Johannes Thumshirn
2023-12-01 22:14     ` Bart Van Assche
2023-12-02  7:21   ` Yu Kuai
2023-12-04  4:13     ` Bart Van Assche
2023-12-25 12:51       ` Yu Kuai
2023-12-26  2:22         ` Bart Van Assche
2024-01-11 19:22         ` Bart Van Assche
2024-01-12  1:08           ` Yu Kuai
2024-01-12  4:39             ` Christoph Hellwig
2024-01-14  3:22               ` Yu Kuai
2024-01-15  5:59                 ` Christoph Hellwig
2024-01-15  6:18                   ` Yu Kuai
2024-01-16  2:59                     ` Bart Van Assche
2024-01-16 10:24                       ` Yu Kuai
2024-01-16 17:36                         ` Bart Van Assche
2024-01-18  7:31                           ` Christoph Hellwig
2024-01-18 18:40                             ` Bart Van Assche
2024-01-23  9:13                               ` Christoph Hellwig
2024-01-23 15:16                                 ` Bart Van Assche
2024-01-24  9:08                                   ` Christoph Hellwig
2024-01-30  0:03                                     ` Bart Van Assche
2024-01-31  6:22                                       ` Christoph Hellwig
2024-01-31 21:32                                         ` Bart Van Assche
2024-01-31 21:37                                           ` Keith Busch
2024-01-31 21:42                                             ` Bart Van Assche
2024-01-31 23:04                                               ` Keith Busch
2024-01-31 23:41                                                 ` Bart Van Assche
2024-01-31 23:52                                                   ` Damien Le Moal
2024-01-16  2:52                   ` Bart Van Assche
2023-11-30 19:31 ` [PATCH v6 2/4] scsi: core: Make fair tag sharing configurable in the host template Bart Van Assche
2023-11-30 19:31 ` [PATCH v6 3/4] scsi: core: Make fair tag sharing configurable via sysfs Bart Van Assche
2023-11-30 19:31 ` [PATCH v6 4/4] scsi: ufs: Disable fair tag sharing Bart Van Assche
2023-12-04  7:52 ` [PATCH v6 0/6] Disable fair tag sharing for UFS devices Christoph Hellwig
2023-12-05  3:15   ` Bart Van Assche [this message]

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=3a878745-a667-47ad-ac87-867a9bb8bd34@acm.org \
    --to=bvanassche@acm.org \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.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 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).