From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 1 19:49:33 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9EF7A16A4CE for ; Tue, 1 Mar 2005 19:49:33 +0000 (GMT) Received: from mail.vicor-nb.com (bigwoop.vicor-nb.com [208.206.78.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id BF9EA43D2F for ; Tue, 1 Mar 2005 19:49:30 +0000 (GMT) (envelope-from julian@elischer.org) Received: from [208.206.78.97] (julian.vicor-nb.com [208.206.78.97]) by mail.vicor-nb.com (Postfix) with ESMTP id 6A72A7A403; Tue, 1 Mar 2005 11:49:30 -0800 (PST) Message-ID: <4224C74A.2030205@elischer.org> Date: Tue, 01 Mar 2005 11:49:30 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.5) Gecko/20050218 X-Accept-Language: en, hu MIME-Version: 1.0 To: Sarath Kamisetty References: <001a01c51d6d$d50ce500$abe243a4@ash> <4222D5A2.9010301@elischer.org> <641e6aa9050301112016d316bb@mail.gmail.com> In-Reply-To: <641e6aa9050301112016d316bb@mail.gmail.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-hackers@freebsd.org cc: Ashwin Chandra Subject: Re: sched_4BSD X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Mar 2005 19:49:33 -0000 Sarath Kamisetty wrote: >Hi, > >How does Linux handle this ? Any idea ? > > If you make 1000 threads, you get 1000 slots on the scheduler. (last time I looked.. Let me know if I'm wrong). The guy next to you with 'vi' gets 1 slot.. who gets more cpu? >Thanks, >Sarat > >On Mon, 28 Feb 2005 00:26:10 -0800, Julian Elischer wrote: > > >>Ashwin Chandra wrote: >> >> >>>I wanted to get some clarification about the 4BSD scheduler. I am sort of >>>confused why there are two forms of scheduling, one done between processes and >>>another done between threads in a process. The priority calculations seem to be >>>done only with processes and I assume that the global run queue holds processes, >>>not threads. Also why is there only 1 run queue for 1 CPU. What happens to >>>blocked processes and ready to be runned processes? >>> >>> >>Part of the challenge of adding threads to a system is to make it hard for a >>threaded process to "flood" the system run queues so that other processes >>get no cpu time. >> >>The scheme in the current freeBSD schedulers is a "crude" method, by which >>only a limitted number of threads per process are allowed to be added to >>the system run queue. RUnnable hreads fo r aprocess are kept on a run queue for >>the process and only the highest N prioriy hreads are actually put on the >>system run queue. >> >>This is by no means the best way, but rather the >>easiest way. I am hoping that some PhD candidate somewhere will decide >>that thread scheduling is his topic and will figure out a better way >>of doing this. >> >>both run queues hold threads. This is still a place wjere a lot >>of work can be done. >> >>:-) >> >> >> >> >>>Ash >>>_______________________________________________ >>>freebsd-hackers@freebsd.org mailing list >>>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers >>>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" >>> >>> >>_______________________________________________ >>freebsd-hackers@freebsd.org mailing list >>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers >>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" >> >> >>