mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-03 21:06:39 +07:00
drm/amdkfd: Add module parameter of send_sigterm
This patch adds a new kernel module parameter to amdkfd, called send_sigterm. This parameter specifies whether amdkfd should send the SIGTERM signal to an HSA process, when the following conditions occur: 1. The GPU triggers an exception regarding a kernel that was issued by this process. 2. The HSA process isn't waiting on an event that handles this exception. The default behavior is not to send a SIGTERM and suffice with a dmesg error print. Reviewed-by: Ben Goz <ben.goz@amd.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
parent
930c5ff439
commit
81663016db
@ -872,10 +872,16 @@ static void lookup_events_by_type_and_signal(struct kfd_process *p,
|
||||
|
||||
/* Send SIGTERM no event of type "type" has been found*/
|
||||
if (send_signal) {
|
||||
dev_warn(kfd_device,
|
||||
"Sending SIGTERM to HSA Process with PID %d ",
|
||||
if (send_sigterm) {
|
||||
dev_warn(kfd_device,
|
||||
"Sending SIGTERM to HSA Process with PID %d ",
|
||||
p->lead_thread->pid);
|
||||
send_sig(SIGTERM, p->lead_thread, 0);
|
||||
} else {
|
||||
dev_err(kfd_device,
|
||||
"HSA Process (PID %d) got unhandled exception",
|
||||
p->lead_thread->pid);
|
||||
send_sig(SIGTERM, p->lead_thread, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,6 +54,11 @@ module_param(max_num_of_queues_per_device, int, 0444);
|
||||
MODULE_PARM_DESC(max_num_of_queues_per_device,
|
||||
"Maximum number of supported queues per device (1 = Minimum, 4096 = default)");
|
||||
|
||||
int send_sigterm;
|
||||
module_param(send_sigterm, int, 0444);
|
||||
MODULE_PARM_DESC(send_sigterm,
|
||||
"Send sigterm to HSA process on unhandled exception (0 = disable, 1 = enable)");
|
||||
|
||||
bool kgd2kfd_init(unsigned interface_version, const struct kgd2kfd_calls **g2f)
|
||||
{
|
||||
/*
|
||||
|
@ -74,6 +74,12 @@ extern int max_num_of_queues_per_device;
|
||||
/* Kernel module parameter to specify the scheduling policy */
|
||||
extern int sched_policy;
|
||||
|
||||
/*
|
||||
* Kernel module parameter to specify whether to send sigterm to HSA process on
|
||||
* unhandled exception
|
||||
*/
|
||||
extern int send_sigterm;
|
||||
|
||||
/**
|
||||
* enum kfd_sched_policy
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user