code: private void inactivate(WorkQueue w, int ss) {
          int ns = (ss + SS_SEQ) | UNSIGNALLED;
          long lc = ns & SP_MASK, nc, c;
          if (w != null) {
              w.scanState = ns;
              do {
                  nc = lc | (UC_MASK & ((c = ctl) - AC_UNIT));
                  w.stackPred = (int)c;
              } while (!U.compareAndSwapLong(this, CTL, c, nc));
          }
      }
docs: If worker w exists and is active, enqueues and sets status to inactive.
  
  @param w the worker
  @param ss current (non-negative) scanState