From owner-soc-status@FreeBSD.ORG Sun Jun 26 22:15:16 2011 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB1A5106564A for ; Sun, 26 Jun 2011 22:15:16 +0000 (UTC) (envelope-from rudotx@gmail.com) Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 733258FC08 for ; Sun, 26 Jun 2011 22:15:16 +0000 (UTC) Received: by bwa20 with SMTP id 20so1285823bwa.13 for ; Sun, 26 Jun 2011 15:15:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type; bh=NpHWofnDv22EKYKhuUGCBOm1+n21J9bK+UZxGFZQrnM=; b=ZCCUOdm+JK20en/YY7OMA5zkaaG7J1bGjsP0nhbYepXTtHEgGBL8V+Hp2VMl0D20dy gVGReFWfRtwGQLOM+j19xdQOsu12qngrTTaTD7UGlp4Fbv0ipP2WjuxRsyKrQNrQPe7u GXWUdbjPvU1qnWjThj2HrXSmjq1NywbMjCoCk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=Pheroh58uoE+Ku5FSL8DTM6VDspIaT4SDqnyAYed6zSGYTzgRa0h2nuRd4jW4ikUeP QnRDqNdyXi/rHCt6me/qYTB+8wfYDbLv2wrZNua6HaA7g6pbtsModHgP1jtXDQ4CJCp0 B7XfA2sUgpNTuv8k+/0DcQFAq4JszVIj+6Two= Received: by 10.204.36.129 with SMTP id t1mr2333529bkd.193.1309126515121; Sun, 26 Jun 2011 15:15:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.66.138 with HTTP; Sun, 26 Jun 2011 15:14:55 -0700 (PDT) From: rudo tomori Date: Mon, 27 Jun 2011 00:14:55 +0200 Message-ID: To: soc-status@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: BFS scheduler weekly status report X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2011 22:15:17 -0000 Hi, the goal of my project is to implement a BFS - like scheduler into the FreeBSD. I started off with the original 4.4BSD code, and by iterative modifications I will develop a scheduler that matches the BFS design as specified in http://ck.kolivas.org/patches/bfs/sched-BFS.txt. Last week I made the scheduler to remember the unused time slice part of threads. So when a thread is scheduled, it is only assigned the remaining part of its time slice. I also made idle threads to be selected according to the virtual deadline mechanism. This week I will do this: When a thread wakes up from sleeping, it is only put on the run queue. Now, I will firstly inspect if there is any suitable idle cpu, or a cpu running a lower priority thread that should be preempted. If yes, then by posting an AST I will cause the cpu to reschedule. rudo