<div dir="ltr">Hi Stefan,<div><br></div><div>I checked and also tried to backport these commits:</div><div>git log --oneline --grep "Fixes: 39d42fa96ba1"<br>c87a95dc28b1 dm crypt: defer decryption to a tasklet if interrupts disabled<br>8e14f610159d dm crypt: do not call bio_endio() from the dm-crypt tasklet<br>d68b29584c25 dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq<br>8abec36d1274 dm crypt: do not wait for backlogged crypto request completion in<br>softirq<br>4a5caa4af0df dm crypt: document new no_workqueue flags<br></div><div><br></div><div>But it failed to build the kernel, I found there are more dependencies need to be backported</div><div>Take focal kernel (5.4) for instance, the build error is:</div>/home/ubuntu/focal/drivers/md/dm-crypt.c:2768:8: error: ‘dm_report_zones_cb’ undeclared (first use in this function); did you mean ‘dm_report_zones_fn’?<br>2768 | dm_report_zones_cb, args);<div><br></div><div>This function "dm_report_zones_cb" was introduced in this commit in 5.5 kernel:<br>git log -L :dm_report_zones_cb:drivers/md/dm.c<br>commit d41003513e61dd9d4974cb441d30b63650b85654<br></div><div>git describe --contains d41003513e61dd9d4974cb441d30b63650b85654<br>v5.5-rc1~199^2~1<br></div><div><br></div><div>It reworked "zone reporting" </div><div>d41003513e61 block: rework zone reporting<br></div><div><br></div><div>And modify some other files in block layer<br></div><div>drivers/md/dm-flakey.c<br>drivers/md/dm-linear.c<br>drivers/scsi/sd.h<br>fs/f2fs/super.c<br>include/linux/device-mapper.h<br>block/blk-zoned.c<br>drivers/block/null_blk.h<br>drivers/block/null_blk_zoned.c<br>drivers/md/dm-zoned-metadata.c<br>drivers/md/dm.c<br>drivers/scsi/sd_zbc.c<br>include/linux/blkdev.h<br></div><div><br></div><div>I think it could get more dependencies involved for backporting this commit</div><div><br></div><div>And the original commit I wanted to backport (39d42fa96ba1b7d2544db3f8ed5da8fb0d5cb877)</div><div>changes dm-crypt version from 1.19.0 to 1.22.0 for focal kernel (5.4)</div><div><br></div><div>Because this is a request from our customer, I would like to ask for advice if it's still proper to backport this one and all related commits?</div><div>or it's better to wait for a newer hwe kernel that has this commit included?</div><div><br></div><div>Thanks,</div><div>Gerald</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 19, 2021 at 3:26 PM Gerald Yang <<a href="mailto:gerald.yang@canonical.com">gerald.yang@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks Stefan, I will update the SRU with all related commits</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 18, 2021 at 2:42 PM Stefan Bader <<a href="mailto:stefan.bader@canonical.com" target="_blank">stefan.bader@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 18.05.21 04:56, Gerald Yang wrote:<br>
> BugLink: <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1910976" rel="noreferrer" target="_blank">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1910976</a><br>
<br>
Above should be <a href="https://bugs.launchpad.net/bugs/1910976" rel="noreferrer" target="_blank">https://bugs.launchpad.net/bugs/1910976</a> but that could be done <br>
when applying. However there seem to be multiple references to this patch <br>
following its introduction upstream (see below). That does not sound like just <br>
picking this one patch is a good idea.<br>
<br>
-Stefan<br>
<br>
> <br>
> === SRU Justification ===<br>
> [Impact]<br>
> To get better performance for dm-crypt in some cases, bypass kcryptd<br>
> workqueue can reduce the overhead in context switch between kworkers,<br>
> cherry-pick commit 39d42fa96ba1b7d2544db3f8ed5da8fb0d5cb877 from mainline<br>
> kernel, and bypass kcryptd workqueue is not enabled by default<br>
> <br>
> [Fix]<br>
> Add flags to bypass kcryptd workqueue<br>
> <br>
> [Test]<br>
> create dm-crypt and setup DM_CRYPT_NO_READ_WORKQUEUE and<br>
> DM_CRYPT_NO_WRITE_WORKQUEUE, read/write data and run perf record to see<br>
> if read/write to the encrypted device will bypass kcryptd workqueue<br>
> <br>
> [Regression Potential]<br>
> Low, this feature is disabled by default, need to enable manually<br>
> <br>
> Ignat Korchagin (1):<br>
>    dm crypt: add flags to optionally bypass kcryptd workqueues<br>
> <br>
>   drivers/md/dm-crypt.c | 50 ++++++++++++++++++++++++++++++++++++-------<br>
>   1 file changed, 42 insertions(+), 8 deletions(-)<br>
> <br>
<br>
 > git log --oneline --grep "Fixes: 39d42fa96ba1"<br>
c87a95dc28b1 dm crypt: defer decryption to a tasklet if interrupts disabled<br>
8e14f610159d dm crypt: do not call bio_endio() from the dm-crypt tasklet<br>
d68b29584c25 dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq<br>
8abec36d1274 dm crypt: do not wait for backlogged crypto request completion in <br>
softirq<br>
4a5caa4af0df dm crypt: document new no_workqueue flags<br>
<br>
</blockquote></div>
</blockquote></div>