From owner-p4-projects@FreeBSD.ORG Tue Jan 4 13:14:32 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2102816A4D3; Tue, 4 Jan 2005 13:14:32 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9D4FE16A4CE for ; Tue, 4 Jan 2005 13:14:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 77AF743D4C for ; Tue, 4 Jan 2005 13:14:31 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j04DEVF3017248 for ; Tue, 4 Jan 2005 13:14:31 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j04DEVE3017245 for perforce@freebsd.org; Tue, 4 Jan 2005 13:14:31 GMT (envelope-from davidxu@freebsd.org) Date: Tue, 4 Jan 2005 13:14:31 GMT Message-Id: <200501041314.j04DEVE3017245@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 68252 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jan 2005 13:14:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=68252 Change 68252 by davidxu@davidxu_tiger on 2005/01/04 13:14:06 insert "pause" instructor for i386. style fix. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_pspinlock.c#7 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_pspinlock.c#7 (text+ko) ==== @@ -100,6 +100,10 @@ else { count = SPIN_COUNT; while ((ret = umtx_trylock(&lck->s_lock, self->tid)) != 0) { +#ifdef __i386__ + /* tell cpu we are spinning */ + __asm __volatile("pause"); +#endif if (--count <= 0) { count = SPIN_COUNT; _pthread_yield(); @@ -120,7 +124,7 @@ if (lock == NULL || (lck = *lock) == NULL) ret = EINVAL; else { - ret =umtx_unlock(&lck->s_lock, self->tid); + ret = umtx_unlock(&lck->s_lock, self->tid); } return (ret); }