From owner-p4-projects@FreeBSD.ORG Wed Mar 12 07:15:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A610D1065674; Wed, 12 Mar 2008 07:15:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CF031065670 for ; Wed, 12 Mar 2008 07:15:05 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F1B88FC23 for ; Wed, 12 Mar 2008 07:15:05 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2C7F5hR011974 for ; Wed, 12 Mar 2008 07:15:05 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2C7F5Fm011972 for perforce@freebsd.org; Wed, 12 Mar 2008 07:15:05 GMT (envelope-from peter-gmail@wemm.org) Date: Wed, 12 Mar 2008 07:15:05 GMT Message-Id: <200803120715.m2C7F5Fm011972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 137470 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Mar 2008 07:15:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=137470 Change 137470 by peter@peter_overcee on 2008/03/12 07:14:48 move ts_rqindex to thread Affected files ... .. //depot/projects/bike_sched/sys/kern/kern_switch.c#9 edit .. //depot/projects/bike_sched/sys/kern/sched_4bsd.c#15 edit .. //depot/projects/bike_sched/sys/kern/sched_ule.c#15 edit .. //depot/projects/bike_sched/sys/sys/proc.h#9 edit Differences ... ==== //depot/projects/bike_sched/sys/kern/kern_switch.c#9 (text+ko) ==== @@ -404,7 +404,7 @@ int pri; pri = TS_TO_TD(ts)->td_priority / RQ_PPQ; - ts->ts_rqindex = pri; + TS_TO_TD(ts)->td_rqindex = pri; runq_setbit(rq, pri); rqh = &rq->rq_queues[pri]; CTR5(KTR_RUNQ, "runq_add: td=%p ts=%p pri=%d %d rqh=%p", @@ -421,7 +421,7 @@ struct rqhead *rqh; KASSERT(pri < RQ_NQS, ("runq_add_pri: %d out of range", pri)); - ts->ts_rqindex = pri; + TS_TO_TD(ts)->td_rqindex = pri; runq_setbit(rq, pri); rqh = &rq->rq_queues[pri]; CTR5(KTR_RUNQ, "runq_add_pri: td=%p ke=%p pri=%d idx=%d rqh=%p", @@ -517,7 +517,7 @@ KASSERT(ts != NULL, ("runq_choose: no proc on busy queue")); CTR4(KTR_RUNQ, "runq_choose_from: pri=%d ts=%p idx=%d rqh=%p", - pri, ts, ts->ts_rqindex, rqh); + pri, ts, TS_TO_TD(ts)->td_rqindex, rqh); return (ts); } CTR1(KTR_RUNQ, "runq_choose_from: idleproc pri=%d", pri); @@ -544,7 +544,7 @@ KASSERT(TS_TO_TD(ts)->td_flags & TDF_INMEM, ("runq_remove_idx: thread swapped out")); - pri = ts->ts_rqindex; + pri = TS_TO_TD(ts)->td_rqindex; KASSERT(pri < RQ_NQS, ("runq_remove_idx: Invalid index %d\n", pri)); rqh = &rq->rq_queues[pri]; CTR5(KTR_RUNQ, "runq_remove_idx: td=%p, ts=%p pri=%d %d rqh=%p", ==== //depot/projects/bike_sched/sys/kern/sched_4bsd.c#15 (text+ko) ==== @@ -81,7 +81,6 @@ struct td_sched { TAILQ_ENTRY(td_sched) ts_procq; /* (j/z) Run queue. */ fixpt_t ts_pctcpu; /* (j) %cpu during p_swtime. */ - u_char ts_rqindex; /* (j) Run queue index. */ u_char ts_flags; /* (t) Flags */ int ts_cpticks; /* (j) Ticks of cpu time. */ int ts_slptime; /* (j) Seconds !RUNNING. */ @@ -672,7 +671,7 @@ return; td->td_priority = prio; if (TD_ON_RUNQ(td) && - TD_TO_TS(td)->ts_rqindex != (prio / RQ_PPQ)) { + td->td_rqindex != (prio / RQ_PPQ)) { sched_rem(td); sched_add(td, SRQ_BORING); } ==== //depot/projects/bike_sched/sys/kern/sched_ule.c#15 (text+ko) ==== @@ -85,7 +85,6 @@ TAILQ_ENTRY(td_sched) ts_procq; /* Run queue. */ struct runq *ts_runq; /* Run-queue we're queued on. */ short ts_flags; /* TSF_* flags. */ - u_char ts_rqindex; /* Run queue index. */ u_char ts_cpu; /* CPU that we have affinity for. */ int ts_slice; /* Ticks of slice remaining. */ u_int ts_slptime; /* Number of ticks we vol. slept */ @@ -346,7 +345,7 @@ TAILQ_FOREACH(ts, rqh, ts_procq) { td = TS_TO_TD(ts); printf("\t\t\ttd %p(%s) priority %d rqindex %d pri %d\n", - td, td->td_name, td->td_priority, ts->ts_rqindex, pri); + td, td->td_name, td->td_priority, td->td_rqindex, pri); } } } ==== //depot/projects/bike_sched/sys/sys/proc.h#9 (text+ko) ==== @@ -213,6 +213,7 @@ volatile u_char td_owepreempt; /* (k*) Preempt on last critical_exit */ short td_locks; /* (k) Count of non-spin locks. */ u_char td_tsqueue; /* (t) Turnstile queue blocked on. */ + u_char td_rqindex; struct turnstile *td_blocked; /* (t) Lock thread is blocked on. */ const char *td_lockname; /* (t) Name of lock blocked on. */ LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */