blob: ef1eb97feebe635785b4fc2c84abe7d37d390b28 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES */
#ifndef __ENQ_BLOCKED_H
#define __ENQ_BLOCKED_H
#include <linux/ioctl.h>
#include <linux/types.h>
struct enq_blocked_stats {
__u64 hold_time_ns;
__u64 wait_time_ns;
__u64 nr_holds;
__u64 nr_waits;
};
#define ENQ_BLOCKED_IOCTL_OWNER _IO('s', 1)
#define ENQ_BLOCKED_IOCTL_DONOR _IO('s', 2)
#define ENQ_BLOCKED_IOCTL_RESET_STATS _IO('s', 3)
#define ENQ_BLOCKED_IOCTL_GET_STATS _IOR('s', 4, struct enq_blocked_stats)
#define ENQ_BLOCKED_IOCTL_PREP_ATTACH _IO('s', 5)
#define ENQ_BLOCKED_IOCTL_ATTACH_DONE _IO('s', 6)
#define ENQ_BLOCKED_IOCTL_DONOR_STATE _IO('s', 7)
#define ENQ_BLOCKED_IOCTL_PROXY_SUPPORTED _IO('s', 8)
#define ENQ_BLOCKED_DONOR_SLEEPING (1U << 0)
#define ENQ_BLOCKED_DONOR_ON_RQ (1U << 1)
#endif /* __ENQ_BLOCKED_H */
|