support uti_attr for utility thread offloading
This commit is contained in:
@ -179,40 +179,6 @@ struct kernel_termios {
|
||||
cc_t c_cc[NCCS]; /* control characters */
|
||||
};
|
||||
|
||||
#define UTI_FLAG_NUMA_SET (1ULL<<1) /* Indicates NUMA_SET is specified */
|
||||
|
||||
#define UTI_FLAG_SAME_NUMA_DOMAIN (1ULL<<2)
|
||||
#define UTI_FLAG_DIFFERENT_NUMA_DOMAIN (1ULL<<3)
|
||||
|
||||
#define UTI_FLAG_SAME_L1 (1ULL<<4)
|
||||
#define UTI_FLAG_SAME_L2 (1ULL<<5)
|
||||
#define UTI_FLAG_SAME_L3 (1ULL<<6)
|
||||
|
||||
#define UTI_FLAG_DIFFERENT_L1 (1ULL<<7)
|
||||
#define UTI_FLAG_DIFFERENT_L2 (1ULL<<8)
|
||||
#define UTI_FLAG_DIFFERENT_L3 (1ULL<<9)
|
||||
|
||||
#define UTI_FLAG_EXCLUSIVE_CPU (1ULL<<10)
|
||||
#define UTI_FLAG_CPU_INTENSIVE (1ULL<<11)
|
||||
#define UTI_FLAG_HIGH_PRIORITY (1ULL<<12)
|
||||
#define UTI_FLAG_NON_COOPERATIVE (1ULL<<13)
|
||||
|
||||
/* Linux default value is used */
|
||||
#define UTI_MAX_NUMA_DOMAINS (1024)
|
||||
|
||||
typedef struct uti_attr {
|
||||
/* UTI_CPU_SET environmental variable is used to denote the preferred
|
||||
location of utility thread */
|
||||
uint64_t numa_set[(UTI_MAX_NUMA_DOMAINS + sizeof(uint64_t) * 8 - 1) /
|
||||
(sizeof(uint64_t) * 8)];
|
||||
uint64_t flags; /* Representing location and behavior hints by bitmap */
|
||||
} uti_attr_t;
|
||||
|
||||
struct kuti_attr {
|
||||
long parent_cpuid;
|
||||
struct uti_attr attr;
|
||||
};
|
||||
|
||||
struct thread_data_s;
|
||||
int main_loop(struct thread_data_s *);
|
||||
|
||||
@ -2591,6 +2557,7 @@ util_thread_setaffinity(unsigned long pattr)
|
||||
{
|
||||
struct kuti_attr kattr;
|
||||
unsigned long args[3];
|
||||
struct uti_attr_desc desc;
|
||||
|
||||
args[0] = (unsigned long)&kattr;
|
||||
args[1] = pattr;
|
||||
@ -2599,9 +2566,8 @@ util_thread_setaffinity(unsigned long pattr)
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
desc.attr = &kattr;
|
||||
ioctl(fd, MCEXEC_UP_UTI_ATTR, &desc);
|
||||
}
|
||||
|
||||
static long
|
||||
|
||||
Reference in New Issue
Block a user