summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/uts/common/disp/sysdc.c18
-rw-r--r--usr/src/uts/common/os/lwp.c15
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;