diff options
-rw-r--r-- | usr/src/uts/common/disp/sysdc.c | 18 | ||||
-rw-r--r-- | usr/src/uts/common/os/lwp.c | 15 |
2 files changed, 7 insertions, 26 deletions
diff --git a/usr/src/uts/common/disp/sysdc.c b/usr/src/uts/common/disp/sysdc.c index a8d7158124..9b91aca456 100644 --- a/usr/src/uts/common/disp/sysdc.c +++ b/usr/src/uts/common/disp/sysdc.c @@ -115,8 +115,8 @@ * SDC class. t must have an associated LWP (created by calling * lwp_kernel_create()). The thread will have a target DC of dc. * Flags should be either 0 or SYSDC_THREAD_BATCH. If - * SYSDC_THREAD_BATCH is specified, the thread will run with a - * slightly lower priority (see "Batch threads", below). + * SYSDC_THREAD_BATCH is specified, the thread is expected to be + * doing large amounts of processing. * * * Complications @@ -190,10 +190,8 @@ * - Batch threads * * A thread joining the SDC class can specify the SDC_THREAD_BATCH - * flag. This flag causes the maximum priority for that thread to be - * reduced (by default, the maximum is reduced by 1). This allows - * longer-running, batch-oriented SDC threads to be interrupted by - * more immediate, higher-priority work. + * flag. This flag currently has no effect, but marks threads which + * do bulk processing. * * - t_kpri_req * @@ -235,10 +233,6 @@ * * Tunables * - * - sysdc_batch_niceness: The amount below sysdc_maxpri that - * SDC_THREAD_BATCH threads should use as their per-thread - * maximum priority. - * * - sysdc_update_interval_msec: Number of milliseconds between * consecutive thread priority updates. * @@ -322,7 +316,6 @@ uint_t sysdc_reset_interval_msec = 400; uint_t sysdc_prune_interval_msec = 100; uint_t sysdc_max_pset_DC = 90; uint_t sysdc_break_msec = 80; -pri_t sysdc_batch_niceness = 1; /* * Internal state - constants set up by sysdc_initparam() @@ -1314,9 +1307,6 @@ sysdc_thread_enter(kthread_t *t, uint_t dc, uint_t flags) sdp.sdp_maxpri = sysdc_maxpri; sdp.sdp_DC = MAX(MIN(dc, sysdc_maxDC), sysdc_minDC); - if (flags & SYSDC_THREAD_BATCH) - sdp.sdp_maxpri -= sysdc_batch_niceness; - VERIFY3U(CL_ALLOC(&buf, sysdccid, KM_SLEEP), ==, 0); ASSERT(t->t_lwp != NULL); diff --git a/usr/src/uts/common/os/lwp.c b/usr/src/uts/common/os/lwp.c index 229c3d1177..3fa5dcbc7a 100644 --- a/usr/src/uts/common/os/lwp.c +++ b/usr/src/uts/common/os/lwp.c @@ -527,10 +527,10 @@ grow: lgrp_move_thread(t, t->t_bound_cpu->cpu_lpl, 1); } else if (CLASS_KERNEL(cid)) { /* - * For kernel threads, assign ourselves to the root lgrp. + * Kernel threads are always in the root lgrp. */ lgrp_move_thread(t, - &curthread->t_cpupart->cp_lgrploads[LGRP_ROOTID], 1); + &t->t_cpupart->cp_lgrploads[LGRP_ROOTID], 1); } else { lgrp_move_thread(t, lgrp_choose(t, t->t_cpupart), 1); } @@ -545,20 +545,11 @@ grow: t->t_cpupart->cp_nlgrploads); /* - * If we're creating a new process, then inherit the project from our - * parent. If we're only creating an additional lwp then use the - * project pointer of the target process. - */ - if (p->p_task == NULL) - newkpj = ttoproj(curthread); - else - newkpj = p->p_task->tk_proj; - - /* * It is safe to point the thread to the new project without holding it * since we're holding the target process' p_lock here and therefore * we're guaranteed that it will not move to another project. */ + newkpj = p->p_task->tk_proj; oldkpj = ttoproj(t); if (newkpj != oldkpj) { t->t_proj = newkpj; |