From: Nitesh Jagadeesh Shetty <nj.shetty@samsung.com>
To: Jinyoung Choi <j-young.choi@samsung.com>
Cc: Jens Axboe <axboe@kernel.dk>, Jonathan Corbet <corbet@lwn.net>,
Alasdair Kergon <agk@redhat.com>,
Mike Snitzer <snitzer@kernel.org>,
"dm-devel@redhat.com" <dm-devel@redhat.com>,
Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>,
Sagi Grimberg <sagi@grimberg.me>,
Chaitanya Kulkarni <kch@nvidia.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"nitheshshetty@gmail.com" <nitheshshetty@gmail.com>,
"anuj1072538@gmail.com" <anuj1072538@gmail.com>,
SSDR Gost Dev <gost.dev@samsung.com>,
"mcgrof@kernel.org" <mcgrof@kernel.org>,
Vincent Kang Fu <vincent.fu@samsung.com>,
Anuj Gupta <anuj20.g@samsung.com>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH v16 04/12] block: add emulation for copy
Date: Tue, 26 Sep 2023 15:37:18 +0530 [thread overview]
Message-ID: <20230926100718.wcptispc2zhfi5eh@green245> (raw)
In-Reply-To: <20230922130815epcms2p631fc5fc5ebe634cc948fef1992f83a38@epcms2p6>
[-- Attachment #1: Type: text/plain, Size: 1617 bytes --]
>> + write_bio->bi_iter.bi_size = chunk;
>> + ret = submit_bio_wait(write_bio);
>> + kfree(write_bio);
>
>blk_mq_map_bio_put(write_bio) ?
>or bio_uninit(write_bio); kfree(write_bio)?
>
>hmm...
>It continuously allocates and releases memory for bio,
>Why don't you just allocate and reuse bio outside the loop?
>
Agree, we will update this in next version.
>> + if (ret)
>> + break;
>> +
>> + pos_in += chunk;
>> + pos_out += chunk;
>> + }
>> + cio->status = ret;
>> + kvfree(emulation_io->buf);
>> + kfree(emulation_io);
>
>I have not usually seen an implementation that releases memory for
>itself while performing a worker. ( I don't know what's right. :) )
>
The worker is already executing at this point.
We think releasing the reference after it starts executing should not
be an issue, and it didn't come-up in any of our testing too.
>Since blkdev_copy_emulation() allocates memory for the emulation
>and waits for it to be completed, wouldn't it be better to proceed
>with the memory release for it in the same context?
>
>That is, IMO, wouldn't it be better to free the memory related to
>emulation in blkdev_copy_wait_io_completion()?
>
Above mentioned design works for synchronous IOs. But for asynchronous
IOs emulation job is punted to worker and submitter task returns.
Submitter doesn't wait for emulation to complete and memory is freed
later by worker.
Thank you,
Nitesh Shetty
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2023-09-26 10:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20230920081415epcas5p120fe03e79259894896a6bd04cf0845df@epcas5p1.samsung.com>
2023-09-20 8:07 ` [PATCH v16 00/12] Implement copy offload support Nitesh Shetty
[not found] ` <CGME20230920081425epcas5p407a3b1ee776082798adb92e8025699f1@epcas5p4.samsung.com>
2023-09-20 8:07 ` [PATCH v16 01/12] block: Introduce queue limits and sysfs for copy-offload support Nitesh Shetty
[not found] ` <CGME20230920081435epcas5p48932d9fc9ae0016b1edb2694d63fd885@epcas5p4.samsung.com>
2023-09-20 8:07 ` [PATCH v16 02/12] Add infrastructure for copy offload in block and request layer Nitesh Shetty
[not found] ` <CGME20230920081447epcas5p144e631c5b8c72acf64d38b04d6c2c925@epcas5p1.samsung.com>
2023-09-20 8:07 ` [PATCH v16 03/12] block: add copy offload support Nitesh Shetty
[not found] ` <CGME20230920081458epcas5p3a3e12d8b5661b5d6f4420316630b02e1@epcas5p3.samsung.com>
2023-09-20 8:07 ` [PATCH v16 04/12] block: add emulation for copy Nitesh Shetty
[not found] ` <CGME20230920081508epcas5p4cf474394711300770d572af7d2fb621d@epcas5p4.samsung.com>
2023-09-20 8:07 ` [PATCH v16 05/12] fs/read_write: Enable copy_file_range for block device Nitesh Shetty
[not found] ` <CGME20230920081519epcas5p24e047589278635b45aab3b260cb447f0@epcas5p2.samsung.com>
2023-09-20 8:07 ` [PATCH v16 06/12] fs, block: copy_file_range for def_blk_ops for direct " Nitesh Shetty
[not found] ` <CGME20230920081529epcas5p33e1ff0e22817262b1cf749616a37d8a0@epcas5p3.samsung.com>
2023-09-20 8:07 ` [PATCH v16 07/12] nvme: add copy offload support Nitesh Shetty
[not found] ` <CGME20230920081539epcas5p23035fe3e03eeb7848a40aff580e5cdbf@epcas5p2.samsung.com>
2023-09-20 8:07 ` [PATCH v16 08/12] nvmet: add copy command support for bdev and file ns Nitesh Shetty
2023-10-02 1:58 ` kernel test robot
[not found] ` <CGME20230920081548epcas5p14d9620a58744270e4f31a7cea4eec920@epcas5p1.samsung.com>
2023-09-20 8:07 ` [PATCH v16 09/12] dm: Add support for copy offload Nitesh Shetty
[not found] ` <CGME20230920081558epcas5p4d791ba4be2836264a6fb44e06e636d11@epcas5p4.samsung.com>
2023-09-20 8:07 ` [PATCH v16 10/12] dm: Enable copy offload for dm-linear target Nitesh Shetty
[not found] ` <CGME20230920081607epcas5p3def8c43668f1bfb5555b65b93f2f7b6f@epcas5p3.samsung.com>
2023-09-20 8:07 ` [PATCH v16 11/12] null: Enable trace capability for null block Nitesh Shetty
[not found] ` <CGME20230920081617epcas5p4a0e3d23ed747115202c1d8765f6c5a6f@epcas5p4.samsung.com>
2023-09-20 8:07 ` [PATCH v16 12/12] null_blk: add support for copy offload Nitesh Shetty
2023-09-20 10:54 ` kernel test robot
[not found] ` <CGME20230920081447epcas5p144e631c5b8c72acf64d38b04d6c2c925@epcms2p8>
2023-09-22 9:56 ` [PATCH v16 03/12] block: add copy offload support Jinyoung Choi
2023-09-22 11:11 ` Nitesh Shetty
[not found] ` <CGME20230920081458epcas5p3a3e12d8b5661b5d6f4420316630b02e1@epcms2p6>
2023-09-22 13:08 ` [PATCH v16 04/12] block: add emulation for copy Jinyoung Choi
2023-09-26 10:07 ` Nitesh Jagadeesh Shetty [this message]
2023-10-18 10:08 ` Nitesh Jagadeesh Shetty
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=20230926100718.wcptispc2zhfi5eh@green245 \
--to=nj.shetty@samsung.com \
--cc=agk@redhat.com \
--cc=anuj1072538@gmail.com \
--cc=anuj20.g@samsung.com \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=corbet@lwn.net \
--cc=dm-devel@redhat.com \
--cc=gost.dev@samsung.com \
--cc=hch@lst.de \
--cc=j-young.choi@samsung.com \
--cc=kbusch@kernel.org \
--cc=kch@nvidia.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-doc@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=martin.petersen@oracle.com \
--cc=mcgrof@kernel.org \
--cc=nitheshshetty@gmail.com \
--cc=sagi@grimberg.me \
--cc=snitzer@kernel.org \
--cc=vincent.fu@samsung.com \
--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 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).