Commit fdec56c1 authored by Ofir Bitton's avatar Ofir Bitton Committed by Greg Kroah-Hartman

habanalabs: expose compute ctx status through info ioctl

In order for the user to know if he can try and open device, we
expose the compute ctx state. The user can now know if the context
is used by another process or whether the device is still ongoing
through cleanup or reset and will be available soon.
Signed-off-by: default avatarOfir Bitton <obitton@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4c3b9f6e
...@@ -498,6 +498,8 @@ static int open_stats_info(struct hl_fpriv *hpriv, struct hl_info_args *args) ...@@ -498,6 +498,8 @@ static int open_stats_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
open_stats_info.last_open_period_ms = jiffies64_to_msecs( open_stats_info.last_open_period_ms = jiffies64_to_msecs(
hdev->last_open_session_duration_jif); hdev->last_open_session_duration_jif);
open_stats_info.open_counter = hdev->open_counter; open_stats_info.open_counter = hdev->open_counter;
open_stats_info.is_compute_ctx_active = hdev->is_compute_ctx_active;
open_stats_info.compute_ctx_in_release = hdev->compute_ctx_in_release;
return copy_to_user(out, &open_stats_info, return copy_to_user(out, &open_stats_info,
min((size_t) max_size, sizeof(open_stats_info))) ? -EFAULT : 0; min((size_t) max_size, sizeof(open_stats_info))) ? -EFAULT : 0;
......
...@@ -543,10 +543,15 @@ struct hl_pll_frequency_info { ...@@ -543,10 +543,15 @@ struct hl_pll_frequency_info {
* struct hl_open_stats_info - device open statistics information * struct hl_open_stats_info - device open statistics information
* @open_counter: ever growing counter, increased on each successful dev open * @open_counter: ever growing counter, increased on each successful dev open
* @last_open_period_ms: duration (ms) device was open last time * @last_open_period_ms: duration (ms) device was open last time
* @is_compute_ctx_active: Whether there is an active compute context executing
* @compute_ctx_in_release: true if the current compute context is being released
*/ */
struct hl_open_stats_info { struct hl_open_stats_info {
__u64 open_counter; __u64 open_counter;
__u64 last_open_period_ms; __u64 last_open_period_ms;
__u8 is_compute_ctx_active;
__u8 compute_ctx_in_release;
__u8 pad[6];
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment