From owner-p4-projects@FreeBSD.ORG Wed Jun 28 23:36:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C2E9C16A521; Wed, 28 Jun 2006 23:36:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D77316A5C0 for ; Wed, 28 Jun 2006 23:36:30 +0000 (UTC) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7D9D245318 for ; Wed, 28 Jun 2006 23:15:14 +0000 (GMT) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k5SNFEWo072263 for ; Wed, 28 Jun 2006 23:15:14 GMT (envelope-from cdjones@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k5SNFEdj072260 for perforce@freebsd.org; Wed, 28 Jun 2006 23:15:14 GMT (envelope-from cdjones@FreeBSD.org) Date: Wed, 28 Jun 2006 23:15:14 GMT Message-Id: <200606282315.k5SNFEdj072260@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cdjones@FreeBSD.org using -f From: Chris Jones To: Perforce Change Reviews Cc: Subject: PERFORCE change 100241 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, 28 Jun 2006 23:36:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=100241 Change 100241 by cdjones@cdjones-impulse on 2006/06/28 23:15:02 Add some notes about who calls what. Affected files ... .. //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_hier.c#3 edit Differences ... ==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_hier.c#3 (text+ko) ==== @@ -24,6 +24,7 @@ */ #include +__FBSDID("$FreeBSD$"); #include "opt_hwpmc_hooks.h" @@ -79,14 +80,24 @@ /* TODO */ } +/* Internal machinations for hierarchical scheduler go here. + * + * We need an interface for the sub-schedulers to implement. + * + */ + + + /* Common external interface stuff goes here. - (from sys/sched.h) -*/ + * (from sys/sched.h) + */ +/* Initialize the scheduler, called from init_main.c. + * Code taken blindly from sched_4bsd.c. + */ void schedinit(void) { - proc0.p_sched = NULL; ksegrp0.kg_sched = &kg_sched0; thread0.td_sched = &kse0; @@ -96,65 +107,91 @@ kg_sched0.skg_avail_openings = 0; /* we are already running */ } +/* Calculate the load average. + * Called from kern_synch:loadav. + */ int sched_load(void) { } +/* Do we have a runnable process? + * Called from kern_idle:idle_proc. + */ int -sched_rr_internal(void) -{ - -} - -int sched_runnable(void) { } +/* Remove a thread from the scheduler. + * Called from kern_exit:exit1. + */ void sched_exit(struct proc *p, struct thread *childtd) { } - +/* Adjust thread priorities on fork. + * Called from kern_fork:fork1. + */ void sched_fork(struct thread *td, struct thread *childtd) { } +/* Adjust a thread's class. + * Called from kern_idle:idle_setup and kern_resource:rtp_to_pri. + */ void sched_class(struct ksegrp *kg, int class) { } +/* + * Called from kern_thread:thread_exit. + */ void sched_exit_ksegrp(struct ksegrp *kg, struct thread *childtd) { } +/* + * Called from kern_kse:kse_create and kern_thr:create_thread. + */ void sched_fork_ksegrp(struct ksegrp *kg, struct thread *childtd) { } +/* + * Called from kern_resource:donice and kern_sig:tdsigwakeup. + */ void sched_nice(struct proc *p, int nice) { } +/* + * Called from kern_thread:thread_exit. + */ void sched_exit_thread(struct thread *td, struct thread *child) { } +/* + * + */ void sched_fork_thread(struct thread *td, struct thread *child) { } +/* + * Called from kern_proc:fill_kinfo_thread. + */ fixpt_t sched_pctcpu(struct thread *td) { @@ -247,3 +284,6 @@ { return (sizeof(struct thread) + sizeof(struct td_sched)); } + +#define KERN_SWITCH_INCLUDE 1 +#include "kern/kern_switch.c"