All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nitesh Shetty <nj.shetty@samsung.com>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: Mike Snitzer <snitzer@redhat.com>,
	djwong@kernel.org, linux-nvme@lists.infradead.org, clm@fb.com,
	dm-devel@redhat.com, Chaitanya Kulkarni <kch@nvidia.com>,
	osandov@fb.com, Alasdair Kergon <agk@redhat.com>,
	javier@javigon.com, bvanassche@acm.org,
	linux-scsi@vger.kernel.org, nitheshshetty@gmail.com,
	Smart <james.smart@broadcom.com>,
	hch@lst.de, chaitanyak@nvidia.com,
	SelvaKumar S <selvakuma.s1@samsung.com>,
	msnitzer@redhat.com, josef@toxicpanda.com,
	linux-block@vger.kernel.org, dsterba@suse.com, kbusch@kernel.org,
	Frederick.Knight@netapp.com, Sagi Grimberg <sagi@grimberg.me>,
	axboe@kernel.dk, tytso@mit.edu, joshi.k@samsung.com,
	martin.petersen@oracle.com, James, linux-kernel@vger.kernel.org,
	arnav.dawn@samsung.com, jack@suse.com,
	linux-fsdevel@vger.kernel.org, lsf-pc@lists.linux-foundation.org,
	Alexander Viro <viro@zeniv.linux.org.uk>
Subject: Re: [dm-devel] [PATCH v3 02/10] block: Introduce queue limits for copy-offload support
Date: Thu, 24 Feb 2022 17:32:18 +0530	[thread overview]
Message-ID: <20220224120218.GA9117@test-zns> (raw)
In-Reply-To: <YhWGDUyQkUcE6itt@bombadil.infradead.org>

[-- Attachment #1: Type: text/plain, Size: 2511 bytes --]

On Tue, Feb 22, 2022 at 04:55:41PM -0800, Luis Chamberlain wrote:
> On Thu, Feb 17, 2022 at 06:29:01PM +0530, Nitesh Shetty wrote:
> >  Thu, Feb 17, 2022 at 01:07:00AM -0800, Luis Chamberlain wrote:
> > > The subject says limits for copy-offload...
> > > 
> > > On Mon, Feb 14, 2022 at 01:29:52PM +0530, Nitesh Shetty wrote:
> > > > Add device limits as sysfs entries,
> > > >         - copy_offload (RW)
> > > >         - copy_max_bytes (RW)
> > > >         - copy_max_hw_bytes (RO)
> > > >         - copy_max_range_bytes (RW)
> > > >         - copy_max_range_hw_bytes (RO)
> > > >         - copy_max_nr_ranges (RW)
> > > >         - copy_max_nr_ranges_hw (RO)
> > > 
> > > Some of these seem like generic... and also I see a few more max_hw ones
> > > not listed above...
> > >
> > queue_limits and sysfs entries are differently named.
> > All sysfs entries start with copy_* prefix. Also it makes easy to lookup
> > all copy sysfs.
> > For queue limits naming, I tried to following existing queue limit
> > convention (like discard).
> 
> My point was that your subject seems to indicate the changes are just
> for copy-offload, but you seem to be adding generic queue limits as
> well. Is that correct? If so then perhaps the subject should be changed
> or the patch split up.
>
Yeah, queue limits indicates copy offload. I think will make more
readable by adding copy_offload_* prefix.

> > > > +static ssize_t queue_copy_offload_store(struct request_queue *q,
> > > > +				       const char *page, size_t count)
> > > > +{
> > > > +	unsigned long copy_offload;
> > > > +	ssize_t ret = queue_var_store(&copy_offload, page, count);
> > > > +
> > > > +	if (ret < 0)
> > > > +		return ret;
> > > > +
> > > > +	if (copy_offload && !q->limits.max_hw_copy_sectors)
> > > > +		return -EINVAL;
> > > 
> > > 
> > > If the kernel schedules, copy_offload may still be true and
> > > max_hw_copy_sectors may be set to 0. Is that an issue?
> > >
> > 
> > This check ensures that, we dont enable offload if device doesnt support
> > offload. I feel it shouldn't be an issue.
> 
> My point was this:
> 
> CPU1                                       CPU2
> Time
> 1) if (copy_offload 
> 2)    ---> preemption so it schedules      
> 3)    ---> some other high priority task  Sets q->limits.max_hw_copy_sectors to 0
> 4) && !q->limits.max_hw_copy_sectors)
> 
> Can something bad happen if we allow for this?
> 
> 

max_hw_copy_sectors is read only for user. And inside kernel, this is set
only by driver at initialization.


[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



[-- Attachment #3: Type: text/plain, Size: 97 bytes --]

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

WARNING: multiple messages have this Message-ID (diff)
From: Nitesh Shetty <nj.shetty@samsung.com>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: hch@lst.de, javier@javigon.com, chaitanyak@nvidia.com,
	linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
	dm-devel@redhat.com, linux-nvme@lists.infradead.org,
	linux-fsdevel@vger.kernel.org, axboe@kernel.dk,
	msnitzer@redhat.com, bvanassche@acm.org,
	martin.petersen@oracle.com, hare@suse.de, kbusch@kernel.org,
	Frederick.Knight@netapp.com, osandov@fb.com,
	lsf-pc@lists.linux-foundation.org, djwong@kernel.org,
	josef@toxicpanda.com, clm@fb.com, dsterba@suse.com,
	tytso@mit.edu, jack@suse.com, joshi.k@samsung.com,
	arnav.dawn@samsung.com, nitheshshetty@gmail.com,
	SelvaKumar S <selvakuma.s1@samsung.com>,
	Alasdair Kergon <agk@redhat.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Sagi Grimberg <sagi@grimberg.me>,
	James Smart <james.smart@broadcom.com>,
	Chaitanya Kulkarni <kch@nvidia.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 02/10] block: Introduce queue limits for copy-offload support
Date: Thu, 24 Feb 2022 17:32:18 +0530	[thread overview]
Message-ID: <20220224120218.GA9117@test-zns> (raw)
In-Reply-To: <YhWGDUyQkUcE6itt@bombadil.infradead.org>

[-- Attachment #1: Type: text/plain, Size: 2511 bytes --]

On Tue, Feb 22, 2022 at 04:55:41PM -0800, Luis Chamberlain wrote:
> On Thu, Feb 17, 2022 at 06:29:01PM +0530, Nitesh Shetty wrote:
> >  Thu, Feb 17, 2022 at 01:07:00AM -0800, Luis Chamberlain wrote:
> > > The subject says limits for copy-offload...
> > > 
> > > On Mon, Feb 14, 2022 at 01:29:52PM +0530, Nitesh Shetty wrote:
> > > > Add device limits as sysfs entries,
> > > >         - copy_offload (RW)
> > > >         - copy_max_bytes (RW)
> > > >         - copy_max_hw_bytes (RO)
> > > >         - copy_max_range_bytes (RW)
> > > >         - copy_max_range_hw_bytes (RO)
> > > >         - copy_max_nr_ranges (RW)
> > > >         - copy_max_nr_ranges_hw (RO)
> > > 
> > > Some of these seem like generic... and also I see a few more max_hw ones
> > > not listed above...
> > >
> > queue_limits and sysfs entries are differently named.
> > All sysfs entries start with copy_* prefix. Also it makes easy to lookup
> > all copy sysfs.
> > For queue limits naming, I tried to following existing queue limit
> > convention (like discard).
> 
> My point was that your subject seems to indicate the changes are just
> for copy-offload, but you seem to be adding generic queue limits as
> well. Is that correct? If so then perhaps the subject should be changed
> or the patch split up.
>
Yeah, queue limits indicates copy offload. I think will make more
readable by adding copy_offload_* prefix.

> > > > +static ssize_t queue_copy_offload_store(struct request_queue *q,
> > > > +				       const char *page, size_t count)
> > > > +{
> > > > +	unsigned long copy_offload;
> > > > +	ssize_t ret = queue_var_store(&copy_offload, page, count);
> > > > +
> > > > +	if (ret < 0)
> > > > +		return ret;
> > > > +
> > > > +	if (copy_offload && !q->limits.max_hw_copy_sectors)
> > > > +		return -EINVAL;
> > > 
> > > 
> > > If the kernel schedules, copy_offload may still be true and
> > > max_hw_copy_sectors may be set to 0. Is that an issue?
> > >
> > 
> > This check ensures that, we dont enable offload if device doesnt support
> > offload. I feel it shouldn't be an issue.
> 
> My point was this:
> 
> CPU1                                       CPU2
> Time
> 1) if (copy_offload 
> 2)    ---> preemption so it schedules      
> 3)    ---> some other high priority task  Sets q->limits.max_hw_copy_sectors to 0
> 4) && !q->limits.max_hw_copy_sectors)
> 
> Can something bad happen if we allow for this?
> 
> 

max_hw_copy_sectors is read only for user. And inside kernel, this is set
only by driver at initialization.


[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  parent reply	other threads:[~2022-02-28  6:25 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20220214080551epcas5p201d4d85e9d66077f97585bb3c64517c0@epcas5p2.samsung.com>
2022-02-14  7:59 ` [dm-devel] [PATCH v3 00/10] Add Copy offload support Nitesh Shetty
2022-02-14  7:59   ` Nitesh Shetty
2022-02-14  7:59   ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 01/10] block: make bio_map_kern() non static Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-17  8:36     ` [dm-devel] " Luis Chamberlain
2022-02-17  8:36       ` Luis Chamberlain
2022-02-17 13:30       ` [dm-devel] " Nitesh Shetty
2022-02-17 13:30         ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 02/10] block: Introduce queue limits for copy-offload support Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-17  9:07     ` [dm-devel] " Luis Chamberlain
2022-02-17  9:07       ` Luis Chamberlain
2022-02-17 10:16       ` [dm-devel] " Chaitanya Kulkarni
2022-02-17 10:16         ` Chaitanya Kulkarni
2022-02-17 17:49         ` [dm-devel] " Luis Chamberlain
2022-02-17 17:49           ` Luis Chamberlain
2022-02-17 12:59       ` [dm-devel] " Nitesh Shetty
2022-02-17 12:59         ` Nitesh Shetty
2022-02-23  0:55         ` [dm-devel] " Luis Chamberlain
2022-02-23  0:55           ` Luis Chamberlain
2022-02-23  1:29           ` [dm-devel] " Damien Le Moal
2022-02-23  1:29             ` Damien Le Moal
2022-02-24 12:12             ` [dm-devel] " Nitesh Shetty
2022-02-24 12:12               ` Nitesh Shetty
2022-02-24 12:02           ` Nitesh Shetty [this message]
2022-02-24 12:02             ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 03/10] block: Add copy offload support infrastructure Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 04/10] block: Introduce a new ioctl for copy Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 05/10] block: add emulation " Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 06/10] nvme: add copy offload support Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 07/10] nvmet: add copy command support for bdev and file ns Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 08/10] dm: Add support for copy offload Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-22 16:00     ` [dm-devel] " Mike Snitzer
2022-02-22 16:00       ` Mike Snitzer
2022-02-24 12:26       ` [dm-devel] " Nitesh Shetty
2022-02-24 12:26         ` Nitesh Shetty
2022-02-14  7:59   ` [dm-devel] [PATCH v3 09/10] dm: Enable copy offload for dm-linear target Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  7:59     ` Nitesh Shetty
2022-02-14  8:00   ` [dm-devel] [PATCH v3 10/10] dm kcopyd: use copy offload support Nitesh Shetty
2022-02-14  8:00     ` Nitesh Shetty
2022-02-14  8:00     ` Nitesh Shetty
2022-02-14 20:41     ` dm kcopyd: use copy offload support: Build Failure MPTCP CI
2022-02-14 20:53       ` Mat Martineau
2022-02-14 22:08   ` [dm-devel] [PATCH v3 00/10] Add Copy offload support Dave Chinner
2022-02-14 22:08     ` Dave Chinner
2022-02-17 13:02     ` [dm-devel] " Nitesh Shetty
2022-02-17 13:02       ` Nitesh Shetty
2022-02-23  1:43       ` [dm-devel] " Dave Chinner
2022-02-23  1:43         ` Dave Chinner

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=20220224120218.GA9117@test-zns \
    --to=nj.shetty@samsung.com \
    --cc=Frederick.Knight@netapp.com \
    --cc=agk@redhat.com \
    --cc=arnav.dawn@samsung.com \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=chaitanyak@nvidia.com \
    --cc=clm@fb.com \
    --cc=djwong@kernel.org \
    --cc=dm-devel@redhat.com \
    --cc=dsterba@suse.com \
    --cc=hch@lst.de \
    --cc=jack@suse.com \
    --cc=james.smart@broadcom.com \
    --cc=javier@javigon.com \
    --cc=josef@toxicpanda.com \
    --cc=joshi.k@samsung.com \
    --cc=kbusch@kernel.org \
    --cc=kch@nvidia.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=martin.petersen@oracle.com \
    --cc=mcgrof@kernel.org \
    --cc=msnitzer@redhat.com \
    --cc=nitheshshetty@gmail.com \
    --cc=osandov@fb.com \
    --cc=sagi@grimberg.me \
    --cc=selvakuma.s1@samsung.com \
    --cc=snitzer@redhat.com \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    /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.