mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: add API to print process name
Add an OS-abstracted API for printing the name of the current process into a log message and convert the single occurrence of current->comm in submit path power failure to use it. Jira NVGPU-705 Change-Id: I1a509dcc5aecc3c89ce4582733888081b3e38f1f Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1749833 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
3a9d8aebd6
commit
52f1ab0372
@@ -67,6 +67,13 @@ int nvgpu_current_tid(struct gk20a *g)
|
|||||||
return (int)pthread_self();
|
return (int)pthread_self();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __nvgpu_print_current(struct gk20a *g, const char *func_name, int line,
|
||||||
|
void *ctx, enum nvgpu_log_type type)
|
||||||
|
{
|
||||||
|
__nvgpu_log_msg(g, func_name, line, type,
|
||||||
|
"Current process: (nvgpu userspace)");
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Somewhat meaningless in userspace...
|
* Somewhat meaningless in userspace...
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
#ifndef __NVGPU_OS_SCHED_H__
|
#ifndef __NVGPU_OS_SCHED_H__
|
||||||
#define __NVGPU_OS_SCHED_H__
|
#define __NVGPU_OS_SCHED_H__
|
||||||
|
|
||||||
|
#include <nvgpu/log.h>
|
||||||
|
|
||||||
struct gk20a;
|
struct gk20a;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,4 +39,13 @@ int nvgpu_current_tid(struct gk20a *g);
|
|||||||
*/
|
*/
|
||||||
int nvgpu_current_pid(struct gk20a *g);
|
int nvgpu_current_pid(struct gk20a *g);
|
||||||
|
|
||||||
|
void __nvgpu_print_current(struct gk20a *g, const char *func_name, int line,
|
||||||
|
void *ctx, enum nvgpu_log_type type);
|
||||||
|
/**
|
||||||
|
* nvgpu_print_current - print the name of current calling process
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define nvgpu_print_current(g, ctx, type) \
|
||||||
|
__nvgpu_print_current(g, __func__, __LINE__, ctx, type)
|
||||||
|
|
||||||
#endif /* __NVGPU_OS_SCHED_H__ */
|
#endif /* __NVGPU_OS_SCHED_H__ */
|
||||||
|
|||||||
@@ -890,8 +890,8 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
|
|||||||
err = gk20a_busy(g);
|
err = gk20a_busy(g);
|
||||||
if (err) {
|
if (err) {
|
||||||
nvgpu_err(g,
|
nvgpu_err(g,
|
||||||
"failed to host gk20a to submit gpfifo, process %s",
|
"failed to host gk20a to submit gpfifo");
|
||||||
current->comm);
|
nvgpu_print_current(g, NULL, NVGPU_ERROR);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,3 +24,9 @@ int nvgpu_current_pid(struct gk20a *g)
|
|||||||
{
|
{
|
||||||
return current->tgid;
|
return current->tgid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __nvgpu_print_current(struct gk20a *g, const char *func_name, int line,
|
||||||
|
void *ctx, enum nvgpu_log_type type)
|
||||||
|
{
|
||||||
|
__nvgpu_log_msg(g, func_name, line, type, current->comm);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user