From owner-cvs-all@FreeBSD.ORG Mon Apr 21 00:28:00 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A2FC337B401; Mon, 21 Apr 2003 00:28:00 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 52FB543FDF; Mon, 21 Apr 2003 00:28:00 -0700 (PDT) (envelope-from davidxu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h3L7S00U095550; Mon, 21 Apr 2003 00:28:00 -0700 (PDT) (envelope-from davidxu@repoman.freebsd.org) Received: (from davidxu@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h3L7S0Hs095548; Mon, 21 Apr 2003 00:28:00 -0700 (PDT) Message-Id: <200304210728.h3L7S0Hs095548@repoman.freebsd.org> From: David Xu Date: Mon, 21 Apr 2003 00:28:00 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/sys kse.h src/sys/kern kern_thread.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Apr 2003 07:28:01 -0000 davidxu 2003/04/21 00:28:00 PDT FreeBSD src repository Modified files: sys/sys kse.h sys/kern kern_thread.c Log: Introduce two flags to control upcall behaviour: o KMF_NOUPCALL Ask kse_release to not return to userland upcall entry, but instead direct returns to userland by using current thread's stack and return address on stack. This flags is intended to be used by UTS in critical region to wait another UTS thread to leave critical region, by using kse_release with this flag to avoid spinnng and burning CPU. Also this flags can be used by UTS to poll completed context when there is nothing to do in userland and needn't restart from its entry like normal upcall. o KMF_NOCOMPLETED Ask kernel to not bring completed thread contexts back to userland when doing upcall, this flags is intend to be used with above flag when an upcall thread is in critical region and can not process completed contexts at that time. Tested by: deischen Revision Changes Path 1.120 +36 -51 src/sys/kern/kern_thread.c 1.13 +4 -0 src/sys/sys/kse.h