Print this page
6583 remove whole-process swapping

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/waitq.c
          +++ new/usr/src/uts/common/os/waitq.c
↓ open down ↓ 215 lines elided ↑ open up ↑
 216  216                  disp_lock_exit_high(&wq->wq_lock);
 217  217                  return (0);
 218  218          }
 219  219  
 220  220          /*
 221  221           * Mark the time when thread is placed on wait queue. The microstate
 222  222           * accounting code uses this timestamp to determine wait times.
 223  223           */
 224  224          t->t_waitrq = gethrtime_unscaled();
 225  225  
 226      -        /*
 227      -         * Mark thread as not swappable.  If necessary, it will get
 228      -         * swapped out when it returns to the userland.
 229      -         */
 230      -        t->t_schedflag |= TS_DONT_SWAP;
 231  226          DTRACE_SCHED1(cpucaps__sleep, kthread_t *, t);
 232  227          waitq_link(wq, t);
 233  228  
 234  229          THREAD_WAIT(t, &wq->wq_lock);
 235  230          return (1);
 236  231  }
 237  232  
 238  233  /*
 239  234   * Change thread's priority while on the wait queue.
 240  235   * Dequeue and equeue it again so that it gets placed in the right place.
↓ open down ↓ 153 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX