From owner-soc-status@FreeBSD.ORG Sun Jul 3 22:02:04 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 0D4F7106564A for ; Sun, 3 Jul 2011 22:02:04 +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 8BC078FC15 for ; Sun, 3 Jul 2011 22:02:03 +0000 (UTC) Received: by bwa20 with SMTP id 20so5426304bwa.13 for ; Sun, 03 Jul 2011 15:02:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=v5T/rv/MkEMxax4ipHOq0MgxgNNHNdLxyEBi2VNVhRo=; b=rkgUgmb34m+1xeK5+VoY/FFN/WEZnZN47kZRx9EwOiyuDE3Y0CSWiphd0F3j2WfDGy lE94pMApXo+uBMl+fQaU2tAsoyzDHZOaZuoAdmHEAYravM82lFqzTmAKIkTDojBzCB4S //RhNuF6Z+NOEUK0KavSJ3CwU8YeSoLUY3gTE= Received: by 10.204.39.65 with SMTP id f1mr5002881bke.157.1309730522135; Sun, 03 Jul 2011 15:02:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.83.219 with HTTP; Sun, 3 Jul 2011 15:01:42 -0700 (PDT) From: rudo tomori Date: Mon, 4 Jul 2011 00:01:42 +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, 03 Jul 2011 22:02:04 -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 worked on the scheduler part that deals with threads waking up. Now when a thread wakes up, the scheduler inspects if the waking thread should preempt any thread currently running on the CPUs. You can find more specific info about how I deal with this in my latest blog post at http://rudot.blog.com. Next week I will look at the ULE code and see how it determines the CPU topology. I will use the similar concept when trying to choose an idle CPU where a thread that is just waking up should run. If there are multiple idle CPUs, I will use one with the best CPU cache locality. rudo