# HG changeset patch # User rf157361 # Date 1172879271 28800 # Node ID 69ec1179f557eb2a8383ab44759269e0b6f11d57 # Parent fa3ac017d2f9848cf402c6f0423e50b6fd6c363c 6489875 RQFULL must also consider tick-compare for N2 diff -r fa3ac017d2f9 -r 69ec1179f557 usr/src/uts/sun4v/os/error.c --- a/usr/src/uts/sun4v/os/error.c Fri Mar 02 13:05:53 2007 -0800 +++ b/usr/src/uts/sun4v/os/error.c Fri Mar 02 15:47:51 2007 -0800 @@ -646,7 +646,7 @@ * 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 @@ 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)) {