linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Bart Van Assche <bvanassche@acm.org>,
	Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
Cc: martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
	linux-block@vger.kernel.org,
	Daejun Park <daejun7.park@samsung.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>
Subject: Re: please revert the UFS HPB support
Date: Sat, 23 Oct 2021 11:43:09 -0400	[thread overview]
Message-ID: <571fc7393fb043e3c34bca57402bd098a56ea8ac.camel@HansenPartnership.com> (raw)
In-Reply-To: <2cba13c3-bcd5-2a47-e4cb-54fa1ca088f3@acm.org>

On Thu, 2021-10-21 at 09:22 -0700, Bart Van Assche wrote:
> On 10/21/21 8:17 AM, Christoph Hellwig wrote:
> > On Thu, Oct 21, 2021 at 05:15:20PM +0200, Christoph Hellwig wrote:
> > > > > I just noticed the UFS HPB support landed in 5.15, and just
> > > > > as before it is completely broken by allocating another
> > > > > request on the same device and then reinserting it in the
> > > > > queue.  It is bad enough that we have to live with
> > > > > blk_insert_cloned_request for dm-mpath, but this is too big
> > > > > of an API abuse to make it into a release.  We need to drop
> > > > > this code ASAP, and I can prepare a patch for that.
> > > > 
> > > > That sounds awful, do you have a link to the offending
> > > > commit(s)?
> > > 
> > > I'll need to look for it, busy in calls right now, but just grep
> > > for blk_insert_cloned_request.
> > 
> > Might as well finish the git blame:
> > 
> > commit 41d8a9333cc96f5ad4dd7a52786585338257d9f1
> > Author: Daejun Park <daejun7.park@samsung.com>
> > Date:   Mon Jul 12 18:00:25 2021 +0900
> > 
> >      scsi: ufs: ufshpb: Add HPB 2.0 support
> >          
> >      Version 2.0 of HBP supports reads of varying sizes from 4KB to
> > 1MB.
> > 
> >      A read operation <= 32KB is supported as single HPB read. A
> > read between
> >      36KB and 1MB is supported by a combination of write buffer
> > command and HPB
> >      read command to deliver more PPN. The write buffer commands
> > may not be
> >      issued immediately due to busy tags. To use HPB read more
> > aggressively, the
> >      driver can requeue the write buffer command. The requeue
> > threshold is
> >      implemented as timeout and can be modified with
> > requeue_timeout_ms entry in
> >      sysfs.
> 
> (+Daejun)
> 
> Daejun, can the HPB code be reworked such that it does not use 
> blk_insert_cloned_request()? I'm concerned that if the HPB code is
> not reworked that it will be removed from the upstream kernel.

Just to give urgency to Bart's request: we have two or three weeks
before the kernel is due to go final.  Can the problems identified by
Christoph be fixed within that timeframe?

Specifically, looking at the paper you reference, it only uses READ
BUFFER for the host cache sharing.  Since the JDEC standard appears to
be proprietary, I have no method of understanding why the driver now
uses WRITE BUFFER as well, but it appears to be a simple optimization. 
If you can cut out the WRITE BUFFER code, blk_insert_cloned_request()
will also be gone and thus the API abuse.  Can you get us a simple
patch doing this ASAP so we don't have to revert the driver?

James



  reply	other threads:[~2021-10-23 15:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21 14:42 please revert the UFS HPB support Christoph Hellwig
2021-10-21 15:13 ` Jens Axboe
2021-10-21 15:15   ` Christoph Hellwig
2021-10-21 15:17     ` Christoph Hellwig
2021-10-21 16:22       ` Bart Van Assche
2021-10-23 15:43         ` James Bottomley [this message]
     [not found]         ` <CGME20211023154316epcas2p208f95cf1e4a87a4b61d2daf1a2b3c725@epcms2p3>
2021-10-25  5:16           ` Daejun Park
2021-10-25  7:07             ` Christoph Hellwig
2021-10-25 11:39             ` James Bottomley
2021-10-23  1:54 ` Martin K. Petersen
2021-10-23  4:40   ` Christoph Hellwig

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=571fc7393fb043e3c34bca57402bd098a56ea8ac.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=daejun7.park@samsung.com \
    --cc=hch@lst.de \
    --cc=jaegeuk@kernel.org \
    --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).