From owner-freebsd-threads@FreeBSD.ORG Tue Jun 17 13:54:33 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 84D1437B401 for ; Tue, 17 Jun 2003 13:54:33 -0700 (PDT) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id E5A8043FB1 for ; Tue, 17 Jun 2003 13:54:32 -0700 (PDT) (envelope-from eischen@vigrid.com) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mail.pcnet.com (8.12.8/8.12.1) with ESMTP id h5HKsVXh009128; Tue, 17 Jun 2003 16:54:32 -0400 (EDT) Date: Tue, 17 Jun 2003 16:54:31 -0400 (EDT) From: Daniel Eischen X-Sender: eischen@pcnet5.pcnet.com To: Sergey Kosyakov In-Reply-To: <20030617185916.44649.qmail@web12401.mail.yahoo.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-threads@freebsd.org Subject: Re: The first kse_create call X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: deischen@freebsd.org List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jun 2003 20:54:33 -0000 > 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