[dm-devel] [PATCH v2 0/6] dm verity: optionally use tasklets

Nathan Huckleberry nhuck at google.com
Tue Jul 26 20:18:00 UTC 2022


Hey Mike,

On Tue, Jul 26, 2022 at 9:10 AM Mike Snitzer <snitzer at kernel.org> wrote:
>
> Hi,
>
> Please see this updated patchset that reflects what I've staged for
> the 5.20 merge window, see:
> https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git/log/?h=dm-5.20
>
> My only outstanding question, from previous v1 patchset, is: should
> the verify_wq be created using WQ_HIGHPRI instead of WQ_CPU_INTENSIVE?
> (I doubt it has a significant impact on performance but if you have
> insight on why you made that change, and if it meaningful, I'd happily
> apply the change).

In my testing, WQ_HIGHPRI reduced latency in both cases. I tested how
long each configuration spent waiting for work-queue jobs to be
scheduled. The numbers look consistent across the three runs I did.
See below.

Total verity work-queue wait times (ms):
Normal WQ: 880.960, 789.517, 898.852
High Priority WQ: 528.824, 439.191, 433.300
Tasklets + Normal WQ: 242.594, 145.106, 272.642
Tasklets + High Priority WQ: 85.343, 60.787, 70.620

WQ_HIGHPRI is useful even if try_verify_in_tasklet is not used.

Thanks,
Huck


>
> I've tested using cryptsetup's testsuite (which has dm-verity tests)
> but I haven't tested the "try_verify_in_tasklet" feature.
>
> I'd welcome review and focused "try_verify_in_tasklet" testing.
>
> Thanks,
> Mike
>
> Mike Snitzer (3):
>   dm verity: allow optional args to alter primary args handling
>   dm bufio: conditionally enable branching for DM_BUFIO_CLIENT_NO_SLEEP
>   dm verity: conditionally enable branching for "try_verify_in_tasklet"
>
> Nathan Huckleberry (3):
>   dm bufio: Add flags argument to dm_bufio_client_create
>   dm bufio: Add DM_BUFIO_CLIENT_NO_SLEEP flag
>   dm verity: Add optional "try_verify_in_tasklet" feature
>
>  drivers/md/dm-bufio.c                         |  32 ++++-
>  drivers/md/dm-ebs-target.c                    |   3 +-
>  drivers/md/dm-integrity.c                     |   2 +-
>  drivers/md/dm-snap-persistent.c               |   2 +-
>  drivers/md/dm-verity-fec.c                    |   4 +-
>  drivers/md/dm-verity-target.c                 | 121 +++++++++++++++---
>  drivers/md/dm-verity.h                        |   7 +-
>  drivers/md/persistent-data/dm-block-manager.c |   3 +-
>  include/linux/dm-bufio.h                      |   8 +-
>  9 files changed, 154 insertions(+), 28 deletions(-)
>
> --
> 2.32.1 (Apple Git-133)
>



More information about the dm-devel mailing list