IB/{rdmavt,hfi1}: Change hrtimer add to use pinned version
Given we are dealing with nano-second level timers, when the timer pops, ensure it happens on the CPU which caused the timer to be set in the first place. This avoids excessive jitter from the desired expiration time by avoiding the cost of switching our context to another CPU that is cache cold for this given timer. Reviewed-by: Kaike Wan <kaike.wan@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
5938d94cf0
commit
3ce459cd68
|
@ -2012,7 +2012,7 @@ void process_becn(struct hfi1_pportdata *ppd, u8 sl, u32 rlid, u32 lqpn,
|
|||
unsigned long nsec = 1024 * ccti_timer;
|
||||
|
||||
hrtimer_start(&cca_timer->hrtimer, ns_to_ktime(nsec),
|
||||
HRTIMER_MODE_REL);
|
||||
HRTIMER_MODE_REL_PINNED);
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&ppd->cca_timer_lock, flags);
|
||||
|
|
|
@ -2225,7 +2225,7 @@ void rvt_add_rnr_timer(struct rvt_qp *qp, u32 aeth)
|
|||
to = rvt_aeth_to_usec(aeth);
|
||||
trace_rvt_rnrnak_add(qp, to);
|
||||
hrtimer_start(&qp->s_rnr_timer,
|
||||
ns_to_ktime(1000 * to), HRTIMER_MODE_REL);
|
||||
ns_to_ktime(1000 * to), HRTIMER_MODE_REL_PINNED);
|
||||
}
|
||||
EXPORT_SYMBOL(rvt_add_rnr_timer);
|
||||
|
||||
|
|
Loading…
Reference in New Issue