uti: Workaround not to share CPU with OpenMP threads

* Assign uti thread to the last idle CPU so that it's not shared with
  an OpenMP thread

Change-Id: Ia42cae056ce81fde9b6dab6286b39a52f3c9e172
This commit is contained in:
Masamichi Takagi
2018-09-03 18:08:03 +09:00
parent dbba7dea18
commit 5cb8a1f10f
8 changed files with 34 additions and 14 deletions

View File

@@ -275,7 +275,7 @@ extern struct list_head resource_set_list;
extern mcs_rwlock_lock_t resource_set_lock;
extern int idle_halt;
extern int allow_oversubscribe;
extern ihk_spinlock_t runq_reservation_lock; /* To serialize runq reservations for competeing fork()s */
extern ihk_spinlock_t runq_reservation_lock; /* mutex for cpuid reservation (clv->runq_reserved) */
struct process_hash {
struct list_head list[HASH_SIZE];
@@ -557,6 +557,7 @@ struct process {
unsigned long heap_extension;
unsigned long mpol_bind_mask;
int uti_thread_rank; /* Spawn on Linux CPU when clone_count reaches this */
int uti_use_last_cpu; /* Work-around not to share CPU with OpenMP thread */
int clone_count;
// perf_event