From owner-p4-projects Fri Jun 28 18:49:49 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4873A37B410; Fri, 28 Jun 2002 18:49:36 -0700 (PDT) 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 0F26337B4CC for ; Fri, 28 Jun 2002 18:49:35 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id A7EA743E0A for ; Fri, 28 Jun 2002 18:49:34 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from freefall.freebsd.org (perforce@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g5T1nYJU065868 for ; Fri, 28 Jun 2002 18:49:34 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g5T1nYAV065861 for perforce@freebsd.org; Fri, 28 Jun 2002 18:49:34 -0700 (PDT) Date: Fri, 28 Jun 2002 18:49:34 -0700 (PDT) Message-Id: <200206290149.g5T1nYAV065861@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer Subject: PERFORCE change 13554 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=13554 Change 13554 by julian@julian_ref on 2002/06/28 18:49:16 Move userret in syscall for the other architectures where that makes sense. (to not have Giant SOMETIMES set) Affected files ... .. //depot/projects/kse/sys/alpha/alpha/trap.c#29 edit .. //depot/projects/kse/sys/i386/i386/trap.c#56 edit .. //depot/projects/kse/sys/ia64/ia64/trap.c#24 edit .. //depot/projects/kse/sys/powerpc/powerpc/trap.c#16 edit .. //depot/projects/kse/sys/sparc64/sparc64/trap.c#32 edit Differences ... ==== //depot/projects/kse/sys/alpha/alpha/trap.c#29 (text+ko) ==== ==== //depot/projects/kse/sys/i386/i386/trap.c#56 (text+ko) ==== ==== //depot/projects/kse/sys/ia64/ia64/trap.c#24 (text+ko) ==== @@ -872,14 +872,14 @@ break; } - userret(td, framep, sticks); - /* * Release Giant if we had to get it. */ if ((callp->sy_narg & SYF_MPSAFE) == 0) mtx_unlock(&Giant); + userret(td, framep, sticks); + #ifdef KTRACE if (KTRPOINT(td, KTR_SYSRET)) ktrsysret(code, error, td->td_retval[0]); @@ -1043,15 +1043,15 @@ } /* - * Handle reschedule and other end-of-syscall issues + * Release Giant if we previously set it. */ - userret(td, framep, sticks); + if ((callp->sy_narg & SYF_MPSAFE) == 0) + mtx_unlock(&Giant); /* - * Release Giant if we previously set it. + * Handle reschedule and other end-of-syscall issues */ - if ((callp->sy_narg & SYF_MPSAFE) == 0) - mtx_unlock(&Giant); + userret(td, framep, sticks); #ifdef KTRACE if (KTRPOINT(td, KTR_SYSRET)) ==== //depot/projects/kse/sys/powerpc/powerpc/trap.c#16 (text+ko) ==== ==== //depot/projects/kse/sys/sparc64/sparc64/trap.c#32 (text+ko) ==== @@ -657,17 +657,17 @@ } /* - * Handle reschedule and other end-of-syscall issues - */ - userret(td, tf, sticks); - - /* * Release Giant if we had to get it. Don't use mtx_owned(), * we want to catch broken syscalls. */ if ((callp->sy_narg & SYF_MPSAFE) == 0) mtx_unlock(&Giant); + /* + * Handle reschedule and other end-of-syscall issues + */ + userret(td, tf, sticks); + #ifdef KTRACE if (KTRPOINT(td, KTR_SYSRET)) ktrsysret(code, error, td->td_retval[0]); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message