diff mbox series

dm crypt: export sysfs of kcryptd workqueue

Message ID 20201130113339.42817-1-jefflexu@linux.alibaba.com (mailing list archive)
State Accepted, archived
Delegated to: Mike Snitzer
Headers show
Series dm crypt: export sysfs of kcryptd workqueue | expand

Commit Message

Jingbo Xu Nov. 30, 2020, 11:33 a.m. UTC
It should be helpful to export sysfs of "kcryptd" workqueue in some
cases, such as setting specific CPU affinity of the workqueue.

Besides, also tweak the name format a little. The slash inside a
directory name will be translate into exclamation mark, such as
/sys/devices/virtual/workqueue/'kcryptd!253:0'.

Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
---
 drivers/md/dm-crypt.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Jingbo Xu Dec. 2, 2020, 4:04 a.m. UTC | #1
Hi Mike,

What about this patch?

On 11/30/20 7:33 PM, Jeffle Xu wrote:
> It should be helpful to export sysfs of "kcryptd" workqueue in some
> cases, such as setting specific CPU affinity of the workqueue.
> 
> Besides, also tweak the name format a little. The slash inside a
> directory name will be translate into exclamation mark, such as
> /sys/devices/virtual/workqueue/'kcryptd!253:0'.
> 
> Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
> ---
>  drivers/md/dm-crypt.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
> index 392337f16ecf..6b4c1f674239 100644
> --- a/drivers/md/dm-crypt.c
> +++ b/drivers/md/dm-crypt.c
> @@ -3166,11 +3166,12 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
>  	}
>  
>  	if (test_bit(DM_CRYPT_SAME_CPU, &cc->flags))
> -		cc->crypt_queue = alloc_workqueue("kcryptd/%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
> +		cc->crypt_queue = alloc_workqueue("kcryptd-%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
>  						  1, devname);
>  	else
> -		cc->crypt_queue = alloc_workqueue("kcryptd/%s",
> -						  WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND,
> +		cc->crypt_queue = alloc_workqueue("kcryptd-%s",
> +						  WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM |
> +						  WQ_UNBOUND | WQ_SYSFS,
>  						  num_online_cpus(), devname);
>  	if (!cc->crypt_queue) {
>  		ti->error = "Couldn't create kcryptd queue";
>
Mike Snitzer Dec. 2, 2020, 3:19 p.m. UTC | #2
On Tue, Dec 01 2020 at 11:04pm -0500,
JeffleXu <jefflexu@linux.alibaba.com> wrote:

> Hi Mike,
> 
> What about this patch?
> 
> On 11/30/20 7:33 PM, Jeffle Xu wrote:
> > It should be helpful to export sysfs of "kcryptd" workqueue in some
> > cases, such as setting specific CPU affinity of the workqueue.
> > 
> > Besides, also tweak the name format a little. The slash inside a
> > directory name will be translate into exclamation mark, such as
> > /sys/devices/virtual/workqueue/'kcryptd!253:0'.
> > 
> > Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
> > ---
> >  drivers/md/dm-crypt.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
> > index 392337f16ecf..6b4c1f674239 100644
> > --- a/drivers/md/dm-crypt.c
> > +++ b/drivers/md/dm-crypt.c
> > @@ -3166,11 +3166,12 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
> >  	}
> >  
> >  	if (test_bit(DM_CRYPT_SAME_CPU, &cc->flags))
> > -		cc->crypt_queue = alloc_workqueue("kcryptd/%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
> > +		cc->crypt_queue = alloc_workqueue("kcryptd-%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
> >  						  1, devname);
> >  	else
> > -		cc->crypt_queue = alloc_workqueue("kcryptd/%s",
> > -						  WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND,
> > +		cc->crypt_queue = alloc_workqueue("kcryptd-%s",
> > +						  WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM |
> > +						  WQ_UNBOUND | WQ_SYSFS,
> >  						  num_online_cpus(), devname);
> >  	if (!cc->crypt_queue) {
> >  		ti->error = "Couldn't create kcryptd queue";
> > 

Looks fine, I'll get it staged for 5.11.

Mike

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox series

Patch

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 392337f16ecf..6b4c1f674239 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -3166,11 +3166,12 @@  static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 	}
 
 	if (test_bit(DM_CRYPT_SAME_CPU, &cc->flags))
-		cc->crypt_queue = alloc_workqueue("kcryptd/%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
+		cc->crypt_queue = alloc_workqueue("kcryptd-%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
 						  1, devname);
 	else
-		cc->crypt_queue = alloc_workqueue("kcryptd/%s",
-						  WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND,
+		cc->crypt_queue = alloc_workqueue("kcryptd-%s",
+						  WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM |
+						  WQ_UNBOUND | WQ_SYSFS,
 						  num_online_cpus(), devname);
 	if (!cc->crypt_queue) {
 		ti->error = "Couldn't create kcryptd queue";