diff options
author | rf157361 <none@none> | 2007-03-02 15:47:51 -0800 |
---|---|---|
committer | rf157361 <none@none> | 2007-03-02 15:47:51 -0800 |
commit | 367c34e9209dae40b80ed2062f852875086a137f (patch) | |
tree | 65825747f052df1f129377cb6756767c1a729964 /usr | |
parent | 255daac4062f8778c982d51c1515f6c07f388266 (diff) | |
download | illumos-gate-367c34e9209dae40b80ed2062f852875086a137f.tar.gz |
6489875 RQFULL must also consider tick-compare for N2
Diffstat (limited to 'usr')
-rw-r--r-- | usr/src/uts/sun4v/os/error.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/usr/src/uts/sun4v/os/error.c b/usr/src/uts/sun4v/os/error.c index 55552de0c5..4980161bc8 100644 --- a/usr/src/uts/sun4v/os/error.c +++ b/usr/src/uts/sun4v/os/error.c @@ -646,7 +646,7 @@ mem_sync(caddr_t orig_va, size_t orig_len) * If resumable queue is full, we need to check if any cpu is in * error state. If not, we drive on. If yes, we need to panic. The * hypervisor call hv_cpu_state() is being used for checking the - * cpu state. + * cpu state. And reset %tick_compr in case tick-compare was lost. */ static void errh_rq_full(struct async_flt *afltp) @@ -654,6 +654,10 @@ errh_rq_full(struct async_flt *afltp) processorid_t who; uint64_t cpu_state; uint64_t retval; + uint64_t current_tick; + + current_tick = (uint64_t)gettick(); + tickcmpr_set(current_tick); for (who = 0; who < NCPU; who++) if (CPU_IN_SET(cpu_ready_set, who)) { |