Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Nov 1999 16:53:27 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Julian Elischer <julian@whistle.com>
Cc:        peter.jeremy@alcatel.com.au, freebsd-arch@freebsd.org
Subject:   Re: Threads stuff
Message-ID:  <199911290053.QAA47117@apollo.backplane.com>
References:   <Pine.BSF.4.10.9911281626180.544-100000@current1.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
:I think there is confusion here..
:
:The way Dan and I have been discussing it (you need to go back and read
:the old mail) the process creates several thread classes. Thread classes
:can be bound to a CPU and can have different system priorities. They are
:implemted in FreeBSD by rfork()ing a new process (called a subprocess.
:The scheduler then assigns threads to the subprocess. Effectively
:assigning them to a class.
:if the class is "all threads herein run on CPU1" tehn you get what you
:want..
:Dan left of the "sub".
:
:Julian

    Why assign classes to processes when you can assign classes to KSE's?
    If you intend to have a UTS, the UTS must dynamically manage the
    runnability of the KSE's anyway so there isn't any real need to group
    them in their own rfork()'d processes.  

    Since the KSE is the kernel's scheduling entity, not a process, it
    makes sense to concentrate the work in the KSE rather then complicate
    matters by grouping classes with rfork().  This does not prevent us from
    rfork()ing, it just makes rfork() unnecessary for thread management.
    There are plenty of other reasons why one might want to rfork() that
    have nothing to do with thread management so we obviously want to keep
    that functionality.

    If you concentrate the work in the KSE, the design becomes much, much
    simpler.

						-Matt




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911290053.QAA47117>