uti: futex: cache remote va to remote pa result
Change-Id: Idbbb3f2981b76a0235615fceaa6281d2c7134ca2
This commit is contained in:
@ -239,7 +239,7 @@ static void wake_futex(struct futex_q *q)
|
||||
if (q->uti_futex_resp) {
|
||||
int rc;
|
||||
dkprintf("%s: waking up migrated-to-Linux thread (tid %d),uti_futex_resp=%p\n",
|
||||
__func__, p->tid, q->uti_futex_resp);
|
||||
__func__, p->tid, q->uti_futex_resp);
|
||||
|
||||
struct ikc_scd_packet pckt;
|
||||
struct ihk_ikc_channel_desc *resp_channel = cpu_local_var(ikc2linux);
|
||||
|
||||
@ -3649,6 +3649,8 @@ void spin_sleep_or_schedule(void)
|
||||
}
|
||||
|
||||
if (woken) {
|
||||
dkprintf("%s: woken while spinning, cpu: %d, do_schedule: %d\n",
|
||||
__func__, ihk_ikc_get_processor_id(), do_schedule);
|
||||
if (do_schedule) {
|
||||
irqstate = ihk_mc_spinlock_lock(&v->runq_lock);
|
||||
v->flags |= CPU_FLAG_NEED_RESCHED;
|
||||
@ -3667,6 +3669,8 @@ void spin_sleep_or_schedule(void)
|
||||
|
||||
out_schedule:
|
||||
schedule();
|
||||
dkprintf("%s: woken while sleeping, cpu: %d\n",
|
||||
__func__, ihk_ikc_get_processor_id());
|
||||
}
|
||||
|
||||
void schedule(void)
|
||||
@ -3680,7 +3684,7 @@ void schedule(void)
|
||||
|
||||
if (cpu_local_var(no_preempt)) {
|
||||
kprintf("%s: WARNING can't schedule() while no preemption, cnt: %d\n",
|
||||
__FUNCTION__, cpu_local_var(no_preempt));
|
||||
__func__, cpu_local_var(no_preempt));
|
||||
|
||||
irqstate = cpu_disable_interrupt_save();
|
||||
ihk_mc_spinlock_lock_noirq(
|
||||
|
||||
Reference in New Issue
Block a user