Message ID | 20241213054610.55843-7-laoar.shao@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Johannes Berg |
Headers | show |
Series | vsprintf: Add %pTN to print Task Name | expand |
On 13. 12. 24, 6:46, Yafang Shao wrote: > Since task->comm is guaranteed to be NUL-terminated, we can print it > directly without the need to copy it into a separate buffer. This > simplifies the code and avoids unnecessary operations. > > Signed-off-by: Yafang Shao <laoar.shao@gmail.com> > Cc: Ofir Bitton <obitton@habana.ai> > Cc: Oded Gabbay <ogabbay@kernel.org> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Cc: Tvrtko Ursulin <tursulin@ursulin.net> > Cc: David Airlie <airlied@gmail.com> > Cc: Simona Vetter <simona@ffwll.ch> > Cc: Karol Herbst <kherbst@redhat.com> > Cc: Lyude Paul <lyude@redhat.com> > Cc: Danilo Krummrich <dakr@redhat.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Jiri Slaby <jirislaby@kernel.org> > --- > drivers/accel/habanalabs/common/context.c | 5 ++--- > .../accel/habanalabs/common/habanalabs_ioctl.c | 15 +++++---------- > .../gpu/drm/i915/display/intel_display_driver.c | 10 ++++------ > drivers/gpu/drm/nouveau/nouveau_chan.c | 4 +--- > drivers/gpu/drm/nouveau/nouveau_drm.c | 7 +++---- > drivers/tty/tty_io.c | 5 ++--- FOr tty: Reviewed-by: Jiri Slaby <jirislaby@kernel.org> thanks,
For the nouveau bits: Reviewed-by: Lyude Paul <lyude@redhat.com> On Fri, 2024-12-13 at 13:46 +0800, Yafang Shao wrote: > Since task->comm is guaranteed to be NUL-terminated, we can print it > directly without the need to copy it into a separate buffer. This > simplifies the code and avoids unnecessary operations. > > Signed-off-by: Yafang Shao <laoar.shao@gmail.com> > Cc: Ofir Bitton <obitton@habana.ai> > Cc: Oded Gabbay <ogabbay@kernel.org> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Cc: Tvrtko Ursulin <tursulin@ursulin.net> > Cc: David Airlie <airlied@gmail.com> > Cc: Simona Vetter <simona@ffwll.ch> > Cc: Karol Herbst <kherbst@redhat.com> > Cc: Lyude Paul <lyude@redhat.com> > Cc: Danilo Krummrich <dakr@redhat.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Jiri Slaby <jirislaby@kernel.org> > --- > drivers/accel/habanalabs/common/context.c | 5 ++--- > .../accel/habanalabs/common/habanalabs_ioctl.c | 15 +++++---------- > .../gpu/drm/i915/display/intel_display_driver.c | 10 ++++------ > drivers/gpu/drm/nouveau/nouveau_chan.c | 4 +--- > drivers/gpu/drm/nouveau/nouveau_drm.c | 7 +++---- > drivers/tty/tty_io.c | 5 ++--- > 6 files changed, 17 insertions(+), 29 deletions(-) > > diff --git a/drivers/accel/habanalabs/common/context.c b/drivers/accel/habanalabs/common/context.c > index b83141f58319..e4026051b735 100644 > --- a/drivers/accel/habanalabs/common/context.c > +++ b/drivers/accel/habanalabs/common/context.c > @@ -199,7 +199,6 @@ int hl_ctx_create(struct hl_device *hdev, struct hl_fpriv *hpriv) > > int hl_ctx_init(struct hl_device *hdev, struct hl_ctx *ctx, bool is_kernel_ctx) > { > - char task_comm[TASK_COMM_LEN]; > int rc = 0, i; > > ctx->hdev = hdev; > @@ -271,8 +270,8 @@ int hl_ctx_init(struct hl_device *hdev, struct hl_ctx *ctx, bool is_kernel_ctx) > > mutex_init(&ctx->ts_reg_lock); > > - dev_dbg(hdev->dev, "create user context, comm=\"%s\", asid=%u\n", > - get_task_comm(task_comm, current), ctx->asid); > + dev_dbg(hdev->dev, "create user context, comm=\"%pTN\", asid=%u\n", > + current, ctx->asid); > } > > return 0; > diff --git a/drivers/accel/habanalabs/common/habanalabs_ioctl.c b/drivers/accel/habanalabs/common/habanalabs_ioctl.c > index 1dd6e23172ca..32678cd0775a 100644 > --- a/drivers/accel/habanalabs/common/habanalabs_ioctl.c > +++ b/drivers/accel/habanalabs/common/habanalabs_ioctl.c > @@ -1279,13 +1279,10 @@ static long _hl_ioctl(struct hl_fpriv *hpriv, unsigned int cmd, unsigned long ar > retcode = -EFAULT; > > out_err: > - if (retcode) { > - char task_comm[TASK_COMM_LEN]; > - > + if (retcode) > dev_dbg_ratelimited(dev, > - "error in ioctl: pid=%d, comm=\"%s\", cmd=%#010x, nr=%#04x\n", > - task_pid_nr(current), get_task_comm(task_comm, current), cmd, nr); > - } > + "error in ioctl: pid=%d, comm=\"%pTN\", cmd=%#010x, nr=%#04x\n", > + task_pid_nr(current), current, cmd, nr); > > if (kdata != stack_kdata) > kfree(kdata); > @@ -1308,11 +1305,9 @@ long hl_ioctl_control(struct file *filep, unsigned int cmd, unsigned long arg) > if (nr == _IOC_NR(DRM_IOCTL_HL_INFO)) { > ioctl = &hl_ioctls_control[nr - HL_COMMAND_START]; > } else { > - char task_comm[TASK_COMM_LEN]; > - > dev_dbg_ratelimited(hdev->dev_ctrl, > - "invalid ioctl: pid=%d, comm=\"%s\", cmd=%#010x, nr=%#04x\n", > - task_pid_nr(current), get_task_comm(task_comm, current), cmd, nr); > + "invalid ioctl: pid=%d, comm=\"%pTN\", cmd=%#010x, nr=%#04x\n", > + task_pid_nr(current), current, cmd, nr); > return -ENOTTY; > } > > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c > index 56b78cf6b854..416aff49ceb8 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_driver.c > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c > @@ -391,7 +391,6 @@ void intel_display_driver_resume_access(struct drm_i915_private *i915) > */ > bool intel_display_driver_check_access(struct drm_i915_private *i915) > { > - char comm[TASK_COMM_LEN]; > char current_task[TASK_COMM_LEN + 16]; > char allowed_task[TASK_COMM_LEN + 16] = "none"; > > @@ -399,13 +398,12 @@ bool intel_display_driver_check_access(struct drm_i915_private *i915) > i915->display.access.allowed_task == current) > return true; > > - snprintf(current_task, sizeof(current_task), "%s[%d]", > - get_task_comm(comm, current), > - task_pid_vnr(current)); > + snprintf(current_task, sizeof(current_task), "%pTN[%d]", > + current, task_pid_vnr(current)); > > if (i915->display.access.allowed_task) > - snprintf(allowed_task, sizeof(allowed_task), "%s[%d]", > - get_task_comm(comm, i915->display.access.allowed_task), > + snprintf(allowed_task, sizeof(allowed_task), "%pTN[%d]", > + i915->display.access.allowed_task, > task_pid_vnr(i915->display.access.allowed_task)); > > drm_dbg_kms(&i915->drm, > diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.c b/drivers/gpu/drm/nouveau/nouveau_chan.c > index 2cb2e5675807..5bcfda6ecafe 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_chan.c > +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c > @@ -279,7 +279,6 @@ nouveau_channel_ctor(struct nouveau_cli *cli, bool priv, u64 runm, > const u64 plength = 0x10000; > const u64 ioffset = plength; > const u64 ilength = 0x02000; > - char name[TASK_COMM_LEN]; > int cid, ret; > u64 size; > > @@ -338,8 +337,7 @@ nouveau_channel_ctor(struct nouveau_cli *cli, bool priv, u64 runm, > chan->userd = &chan->user; > } > > - get_task_comm(name, current); > - snprintf(args.name, sizeof(args.name), "%s[%d]", name, task_pid_nr(current)); > + snprintf(args.name, sizeof(args.name), "%pTN[%d]", current, task_pid_nr(current)); > > ret = nvif_object_ctor(&device->object, "abi16ChanUser", 0, hosts[cid].oclass, > &args, sizeof(args), &chan->user); > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c > index 107f63f08bd9..3264465cded6 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c > @@ -1159,7 +1159,7 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv) > { > struct nouveau_drm *drm = nouveau_drm(dev); > struct nouveau_cli *cli; > - char name[32], tmpname[TASK_COMM_LEN]; > + char name[32]; > int ret; > > /* need to bring up power immediately if opening device */ > @@ -1169,10 +1169,9 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv) > return ret; > } > > - get_task_comm(tmpname, current); > rcu_read_lock(); > - snprintf(name, sizeof(name), "%s[%d]", > - tmpname, pid_nr(rcu_dereference(fpriv->pid))); > + snprintf(name, sizeof(name), "%pTN[%d]", > + current, pid_nr(rcu_dereference(fpriv->pid))); > rcu_read_unlock(); > > if (!(cli = kzalloc(sizeof(*cli), GFP_KERNEL))) { > diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c > index 9771072da177..bd39167d4234 100644 > --- a/drivers/tty/tty_io.c > +++ b/drivers/tty/tty_io.c > @@ -2622,14 +2622,13 @@ static int tty_tiocgicount(struct tty_struct *tty, void __user *arg) > > static int tty_set_serial(struct tty_struct *tty, struct serial_struct *ss) > { > - char comm[TASK_COMM_LEN]; > int flags; > > flags = ss->flags & ASYNC_DEPRECATED; > > if (flags) > - pr_warn_ratelimited("%s: '%s' is using deprecated serial flags (with no effect): %.8x\n", > - __func__, get_task_comm(comm, current), flags); > + pr_warn_ratelimited("%s: '%pTN' is using deprecated serial flags (with no effect): %.8x\n", > + __func__, current, flags); > > if (!tty->ops->set_serial) > return -ENOTTY;
diff --git a/drivers/accel/habanalabs/common/context.c b/drivers/accel/habanalabs/common/context.c index b83141f58319..e4026051b735 100644 --- a/drivers/accel/habanalabs/common/context.c +++ b/drivers/accel/habanalabs/common/context.c @@ -199,7 +199,6 @@ int hl_ctx_create(struct hl_device *hdev, struct hl_fpriv *hpriv) int hl_ctx_init(struct hl_device *hdev, struct hl_ctx *ctx, bool is_kernel_ctx) { - char task_comm[TASK_COMM_LEN]; int rc = 0, i; ctx->hdev = hdev; @@ -271,8 +270,8 @@ int hl_ctx_init(struct hl_device *hdev, struct hl_ctx *ctx, bool is_kernel_ctx) mutex_init(&ctx->ts_reg_lock); - dev_dbg(hdev->dev, "create user context, comm=\"%s\", asid=%u\n", - get_task_comm(task_comm, current), ctx->asid); + dev_dbg(hdev->dev, "create user context, comm=\"%pTN\", asid=%u\n", + current, ctx->asid); } return 0; diff --git a/drivers/accel/habanalabs/common/habanalabs_ioctl.c b/drivers/accel/habanalabs/common/habanalabs_ioctl.c index 1dd6e23172ca..32678cd0775a 100644 --- a/drivers/accel/habanalabs/common/habanalabs_ioctl.c +++ b/drivers/accel/habanalabs/common/habanalabs_ioctl.c @@ -1279,13 +1279,10 @@ static long _hl_ioctl(struct hl_fpriv *hpriv, unsigned int cmd, unsigned long ar retcode = -EFAULT; out_err: - if (retcode) { - char task_comm[TASK_COMM_LEN]; - + if (retcode) dev_dbg_ratelimited(dev, - "error in ioctl: pid=%d, comm=\"%s\", cmd=%#010x, nr=%#04x\n", - task_pid_nr(current), get_task_comm(task_comm, current), cmd, nr); - } + "error in ioctl: pid=%d, comm=\"%pTN\", cmd=%#010x, nr=%#04x\n", + task_pid_nr(current), current, cmd, nr); if (kdata != stack_kdata) kfree(kdata); @@ -1308,11 +1305,9 @@ long hl_ioctl_control(struct file *filep, unsigned int cmd, unsigned long arg) if (nr == _IOC_NR(DRM_IOCTL_HL_INFO)) { ioctl = &hl_ioctls_control[nr - HL_COMMAND_START]; } else { - char task_comm[TASK_COMM_LEN]; - dev_dbg_ratelimited(hdev->dev_ctrl, - "invalid ioctl: pid=%d, comm=\"%s\", cmd=%#010x, nr=%#04x\n", - task_pid_nr(current), get_task_comm(task_comm, current), cmd, nr); + "invalid ioctl: pid=%d, comm=\"%pTN\", cmd=%#010x, nr=%#04x\n", + task_pid_nr(current), current, cmd, nr); return -ENOTTY; } diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c index 56b78cf6b854..416aff49ceb8 100644 --- a/drivers/gpu/drm/i915/display/intel_display_driver.c +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c @@ -391,7 +391,6 @@ void intel_display_driver_resume_access(struct drm_i915_private *i915) */ bool intel_display_driver_check_access(struct drm_i915_private *i915) { - char comm[TASK_COMM_LEN]; char current_task[TASK_COMM_LEN + 16]; char allowed_task[TASK_COMM_LEN + 16] = "none"; @@ -399,13 +398,12 @@ bool intel_display_driver_check_access(struct drm_i915_private *i915) i915->display.access.allowed_task == current) return true; - snprintf(current_task, sizeof(current_task), "%s[%d]", - get_task_comm(comm, current), - task_pid_vnr(current)); + snprintf(current_task, sizeof(current_task), "%pTN[%d]", + current, task_pid_vnr(current)); if (i915->display.access.allowed_task) - snprintf(allowed_task, sizeof(allowed_task), "%s[%d]", - get_task_comm(comm, i915->display.access.allowed_task), + snprintf(allowed_task, sizeof(allowed_task), "%pTN[%d]", + i915->display.access.allowed_task, task_pid_vnr(i915->display.access.allowed_task)); drm_dbg_kms(&i915->drm, diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.c b/drivers/gpu/drm/nouveau/nouveau_chan.c index 2cb2e5675807..5bcfda6ecafe 100644 --- a/drivers/gpu/drm/nouveau/nouveau_chan.c +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c @@ -279,7 +279,6 @@ nouveau_channel_ctor(struct nouveau_cli *cli, bool priv, u64 runm, const u64 plength = 0x10000; const u64 ioffset = plength; const u64 ilength = 0x02000; - char name[TASK_COMM_LEN]; int cid, ret; u64 size; @@ -338,8 +337,7 @@ nouveau_channel_ctor(struct nouveau_cli *cli, bool priv, u64 runm, chan->userd = &chan->user; } - get_task_comm(name, current); - snprintf(args.name, sizeof(args.name), "%s[%d]", name, task_pid_nr(current)); + snprintf(args.name, sizeof(args.name), "%pTN[%d]", current, task_pid_nr(current)); ret = nvif_object_ctor(&device->object, "abi16ChanUser", 0, hosts[cid].oclass, &args, sizeof(args), &chan->user); diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 107f63f08bd9..3264465cded6 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -1159,7 +1159,7 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv) { struct nouveau_drm *drm = nouveau_drm(dev); struct nouveau_cli *cli; - char name[32], tmpname[TASK_COMM_LEN]; + char name[32]; int ret; /* need to bring up power immediately if opening device */ @@ -1169,10 +1169,9 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv) return ret; } - get_task_comm(tmpname, current); rcu_read_lock(); - snprintf(name, sizeof(name), "%s[%d]", - tmpname, pid_nr(rcu_dereference(fpriv->pid))); + snprintf(name, sizeof(name), "%pTN[%d]", + current, pid_nr(rcu_dereference(fpriv->pid))); rcu_read_unlock(); if (!(cli = kzalloc(sizeof(*cli), GFP_KERNEL))) { diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index 9771072da177..bd39167d4234 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -2622,14 +2622,13 @@ static int tty_tiocgicount(struct tty_struct *tty, void __user *arg) static int tty_set_serial(struct tty_struct *tty, struct serial_struct *ss) { - char comm[TASK_COMM_LEN]; int flags; flags = ss->flags & ASYNC_DEPRECATED; if (flags) - pr_warn_ratelimited("%s: '%s' is using deprecated serial flags (with no effect): %.8x\n", - __func__, get_task_comm(comm, current), flags); + pr_warn_ratelimited("%s: '%pTN' is using deprecated serial flags (with no effect): %.8x\n", + __func__, current, flags); if (!tty->ops->set_serial) return -ENOTTY;
Since task->comm is guaranteed to be NUL-terminated, we can print it directly without the need to copy it into a separate buffer. This simplifies the code and avoids unnecessary operations. Signed-off-by: Yafang Shao <laoar.shao@gmail.com> Cc: Ofir Bitton <obitton@habana.ai> Cc: Oded Gabbay <ogabbay@kernel.org> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Tvrtko Ursulin <tursulin@ursulin.net> Cc: David Airlie <airlied@gmail.com> Cc: Simona Vetter <simona@ffwll.ch> Cc: Karol Herbst <kherbst@redhat.com> Cc: Lyude Paul <lyude@redhat.com> Cc: Danilo Krummrich <dakr@redhat.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiri Slaby <jirislaby@kernel.org> --- drivers/accel/habanalabs/common/context.c | 5 ++--- .../accel/habanalabs/common/habanalabs_ioctl.c | 15 +++++---------- .../gpu/drm/i915/display/intel_display_driver.c | 10 ++++------ drivers/gpu/drm/nouveau/nouveau_chan.c | 4 +--- drivers/gpu/drm/nouveau/nouveau_drm.c | 7 +++---- drivers/tty/tty_io.c | 5 ++--- 6 files changed, 17 insertions(+), 29 deletions(-)