Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jun 2003 16:54:31 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Sergey Kosyakov <ks4usa@yahoo.com>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: The first kse_create call
Message-ID:  <Pine.GSO.4.10.10306171650350.8492-100000@pcnet5.pcnet.com>
In-Reply-To: <20030617185916.44649.qmail@web12401.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> Hi,
> 
> I'm trying to run simple program with kse. As I understood the very
> first kse_create call does not create KSE but just assigns the mailbox
> to the existing "default" KSE and makes upcall. May be I'm doing
> something wrong,
> but I never got upcall on the first kse. When I create another KSE (and
> another KSE group) I immediatelly get the upcall for this (second) KSE.
> Just interesting how does it work - may be the first KSE has special
> behavior?

This is the correct behavior.  The first kse_create() does not
generate an immediate upcall.  It only flags the current context
as being a KSE.  An upcall in this initial KSE will take place
under the same conditions as other KSEs (KSE mailbox has a thread
mailbox pointer and thread blocks, quantum expires, etc).
Subsequent kse_create() calls will generate upcalls immediately
(well, at the mercy of the kernel scheduler).

-- 
Dan Eischen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10306171650350.8492-100000>