NACK/Cmnt: [SRU][B][F][G][PATCH 0/1] dm crypt: add flags to optionally
Stefan Bader
stefan.bader at canonical.com
Tue Jun 29 07:26:14 UTC 2021
On 28.06.21 11:37, Gerald Yang wrote:
> Hi Stefan,
>
> I checked and also tried to backport these commits:
> git log --oneline --grep "Fixes: 39d42fa96ba1"
> c87a95dc28b1 dm crypt: defer decryption to a tasklet if interrupts disabled
> 8e14f610159d dm crypt: do not call bio_endio() from the dm-crypt tasklet
> d68b29584c25 dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq
> 8abec36d1274 dm crypt: do not wait for backlogged crypto request completion in
> softirq
> 4a5caa4af0df dm crypt: document new no_workqueue flags
>
> But it failed to build the kernel, I found there are more dependencies need to
> be backported
> Take focal kernel (5.4) for instance, the build error is:
> /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’?
> 2768 | dm_report_zones_cb, args);
>
> This function "dm_report_zones_cb" was introduced in this commit in 5.5 kernel:
> git log -L :dm_report_zones_cb:drivers/md/dm.c
> commit d41003513e61dd9d4974cb441d30b63650b85654
> git describe --contains d41003513e61dd9d4974cb441d30b63650b85654
> v5.5-rc1~199^2~1
>
> It reworked "zone reporting"
> d41003513e61 block: rework zone reporting
>
> And modify some other files in block layer
> drivers/md/dm-flakey.c
> drivers/md/dm-linear.c
> drivers/scsi/sd.h
> fs/f2fs/super.c
> include/linux/device-mapper.h
> block/blk-zoned.c
> drivers/block/null_blk.h
> drivers/block/null_blk_zoned.c
> drivers/md/dm-zoned-metadata.c
> drivers/md/dm.c
> drivers/scsi/sd_zbc.c
> include/linux/blkdev.h
>
> I think it could get more dependencies involved for backporting this commit
>
> And the original commit I wanted to backport
> (39d42fa96ba1b7d2544db3f8ed5da8fb0d5cb877)
> changes dm-crypt version from 1.19.0 to 1.22.0 for focal kernel (5.4)
>
> 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?
The amount of follow-up changes which were done upstream to a seemingly simple
functional tweak suggest this change had more complications than even upstream
anticipated. At some point we have to make a decision and for LTS release
kernels this would be rather in favour of stability over feature backports. Even
more so the older a release is (I would acutally never consider feature changes
to Bionic anymore). Groovy nears its end of life and I assume Hirsute already
has this. And somehow the errors of the Focal 5.4 backport sound like a lot of
generic device-mapper infrastructure would have to be backported and that would
put the stability of the kernel at risk.
So I would rather point that customer at the hwe-5.11 kernel which is about to
become the default hwe kernel for Focal.
-Stefan
> or it's better to wait for a newer hwe kernel that has this commit included?
>
> Thanks,
> Gerald
>
> On Wed, May 19, 2021 at 3:26 PM Gerald Yang <gerald.yang at canonical.com
> <mailto:gerald.yang at canonical.com>> wrote:
>
> Thanks Stefan, I will update the SRU with all related commits
>
> On Tue, May 18, 2021 at 2:42 PM Stefan Bader <stefan.bader at canonical.com
> <mailto:stefan.bader at canonical.com>> wrote:
>
> On 18.05.21 04:56, Gerald Yang wrote:
> > BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1910976
> <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1910976>
>
> Above should be https://bugs.launchpad.net/bugs/1910976
> <https://bugs.launchpad.net/bugs/1910976> but that could be done
> when applying. However there seem to be multiple references to this patch
> following its introduction upstream (see below). That does not sound
> like just
> picking this one patch is a good idea.
>
> -Stefan
>
> >
> > === SRU Justification ===
> > [Impact]
> > To get better performance for dm-crypt in some cases, bypass kcryptd
> > workqueue can reduce the overhead in context switch between kworkers,
> > cherry-pick commit 39d42fa96ba1b7d2544db3f8ed5da8fb0d5cb877 from mainline
> > kernel, and bypass kcryptd workqueue is not enabled by default
> >
> > [Fix]
> > Add flags to bypass kcryptd workqueue
> >
> > [Test]
> > create dm-crypt and setup DM_CRYPT_NO_READ_WORKQUEUE and
> > DM_CRYPT_NO_WRITE_WORKQUEUE, read/write data and run perf record to see
> > if read/write to the encrypted device will bypass kcryptd workqueue
> >
> > [Regression Potential]
> > Low, this feature is disabled by default, need to enable manually
> >
> > Ignat Korchagin (1):
> > dm crypt: add flags to optionally bypass kcryptd workqueues
> >
> > drivers/md/dm-crypt.c | 50 ++++++++++++++++++++++++++++++++++++-------
> > 1 file changed, 42 insertions(+), 8 deletions(-)
> >
>
> > git log --oneline --grep "Fixes: 39d42fa96ba1"
> c87a95dc28b1 dm crypt: defer decryption to a tasklet if interrupts disabled
> 8e14f610159d dm crypt: do not call bio_endio() from the dm-crypt tasklet
> d68b29584c25 dm crypt: use GFP_ATOMIC when allocating crypto requests
> from softirq
> 8abec36d1274 dm crypt: do not wait for backlogged crypto request
> completion in
> softirq
> 4a5caa4af0df dm crypt: document new no_workqueue flags
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20210629/8634eb62/attachment.sig>
More information about the kernel-team
mailing list