From owner-java@jp.FreeBSD.org Thu Jul 18 23:26:23 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g6IEQND96961;
	Thu, 18 Jul 2002 23:26:23 +0900 (JST)
	(envelope-from owner-java@jp.FreeBSD.org)
Received: from pooh.softalia.com (pooh.softalia.com [65.161.202.173])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g6IEQMn96956
	for <java@jp.FreeBSD.org>; Thu, 18 Jul 2002 23:26:22 +0900 (JST)
	(envelope-from kkonaka@softalia.com)
Received: from tigger.softalia.com (tigger-2.softalia.com [10.10.10.2])
	by pooh.softalia.com (8.9.3+Sun/3.7W-isfs) with ESMTP id KAA07852;
	Thu, 18 Jul 2002 10:26:15 -0400 (EDT)
Received: from roo.softalia.com (IDENT:2356-ident-is-a-completely-pointless-protocol-that-offers-no-security-or-traceability-at-all-so-take-this-and-log-it!@roo.softalia.com [10.10.10.4])
	by tigger.softalia.com (8.11.4/3.7W-isfs) with ESMTP id g6IEQGt24914;
	Thu, 18 Jul 2002 10:26:16 -0400
Date: Thu, 18 Jul 2002 10:08:36 -0400
Message-ID: <sqbu1mx5dsr.wl@nue.mac.com>
From: kkonaka@mac.com
To: java@jp.FreeBSD.org
In-Reply-To: <20020718133041.2a9babc7.daichi@ongs.co.jp>
References: <20020715163315.0f26ee3f.daichi@jp.freebsd.org>
	<sqb8z4cwien.wl@nue.mac.com>
	<20020716.132234.846936505.shudoh@localhost>
	<20020716.133438.640897914.shudoh@localhost>
	<sqbk7nvix3t.wl@nue.mac.com>
	<20020717140826.2dfd066f.daichi@ongs.co.jp>
	<sqbvg7efdr9.wl@nue.mac.com>
	<20020718133041.2a9babc7.daichi@ongs.co.jp>
User-Agent: Wanderlust/2.6.0 (Twist And Shout) SEMI/1.14.3 (Ushinoya)
 FLIM/1.14.3 (=?ISO-8859-4?Q?Unebigory=F2mae?=) APEL/10.3 Emacs/20.7
 (sparc--netbsdelf) MULE/4.0 (HANANOEN)
MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: java@jp.FreeBSD.org
Precedence: list
X-Sequence: java 122
Subject: [java 122] Re: JDK14 =?ISO-2022-JP?B?GyRCMFw/IjpuNkgkSxsoQg==?=
 =?ISO-2022-JP?B?GyRCJEQkJCRGGyhC?= 
Errors-To: owner-java@jp.FreeBSD.org
Sender: owner-java@jp.FreeBSD.org
X-Originator: kkonaka@mac.com
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020717

$B$3$s$K$A$O(B :)

$B@bL@$"$j$,$H$&$4$6$$$^$9!#(B

> $B8=:_(BFreeBSD$B$,(Blibc_r$B$GDs6!$7$F$$$k%f!<%6%i%s%I%9%l%C%I$O!"(BJava
> $B$,%9%l%C%I$KMW5a$9$k5!G=$N$9$Y$F$r$^$+$J$&$3$H$,$G$-$^$;$s!#(B
> $BC<E*$K$O(BGC($B%,!<%Y%C%8%3%l%/%?(B)$B$NF0:n$r%5%]!<%H$G$-$^$;$s!#$3(B
> $B$l$O0l$D$N%9%l%C%I$NF0:n$,40N;$9$k$^$GB>$N%9%l%C%I$NF0:n$r;_(B
> $B$a$k$H$$$&:n6H$,$G$-$J$$$3$H$K5/0x$7$^$9!#(B
> # pth, gth$B$bF1$8$8$c$J$$$+$J!#(B

$BC1$K(B barrier $BF14|$G$-$J$$(B -- $B$H$$$&$h$&$J$3$H$G$O$J$/(B
$B$F$b$&$A$g$C$HFM$C9~$s$@LdBj$,$"$k!)$H$$$&$3$H$J$N$G$9(B
$B$h$M!"$?$V$s!#(B

> $B$3$l$r=$@5$9$k$K$O(Blibc_r$B<+?H$K=$@5$,I,MW$K$J$j$^$9!#(B
> $B$3$N(BJava$B%9%l%C%I$,HqMQ$H$9$k5!G=$O(BPOSIX$B%9%l%C%I$N5,3J$K$O$J$$(B
> $B$b$N$J$N$G!"$=$l$r$I$&<BAu$9$k$+$G%b%a$k$3$H$K$J$j$^$9!#(B

$BMW;]$H$7$F$ON;2r$7$^$7$?!#(B- $B5$;}$A$@$1(B (^^;

;; $B$?$V$s!"$3$N8e$O(B ML $B$K$?$h$k$s$8$c$J$/$F!I<+J,$G8+(B
;; $B$F$_$k%b!<%I!I$KF~$k$Y$-$J$N$@$H;W$$$^$9(B >$BKM(B _o_

> $B$b$&0l$D$O%+!<%M%k$H$NO"7H$G$9!#(B
> $B$?$@%f!<%6%i%s%I%9%l%C%I$GDs6!$9$l$P$h$$$+$H$$$($P$=$&$G$b$J(B
> $B$/!"(BSMP$B$J$I5!:`$N@-G=$r%U%k$KH/4x$9$k$K$O%+!<%M%k$H4XO"$7$F(B
> $B%9%l%C%I$NF0:n$,M-8z$K$J$k$h$&$K$9$kI,MW$,$"$j$^$9!#$3$N$"$?(B
> $B$j(BFreeBSD-current$B$G(BKSE$B$H$7$F3+H/$5$l$F$$$F!"(Blibc_r$B$b(BKSE$B$N1F6A(B
> $B$+$i=q$-49$($,9T$o$l$k$=$&$G$9(B(KSE$B$N$3$H$O$h$/CN$i$J$$$G$9(B)$B!#(B

$B$U$`$`$`!#$d$C$Q$j(B pth $B$G(B non-preemptive $B$J$3$H$7$F$l(B
$B$PFC$K(B web-server $B$_$?$$$J(B I/O intensive $B$J%"%W%j%1!<(B
$B%7%g%s$K$O==J,$J5$$,!JI=LL>e!K$7$F$7$^$&$N$G$9$1$l$I!D!D!#(B
(SMP $B$b<iHwHO0O$+$i30$7$F$7$^$&!"$H$$$&$3$H$G$O$"$j$^$9$,(B (^^;$B!K(B

> # $B$=$&$$$($P(BLinux$B$G$O$I$&$d$C$F$3$N<BAu$7$F$k$s$G$7$?$C$1(B?
> # Linux$B$O%9%l%C%I$r%W%m%;%9$KE83+$9$k$s$G$9$h$M!#$3$NJ}K!$G%W(B
> # $B%i%$%*%j%F%#$N@)8f$H$+(BGC$B0J30$N%9%l%C%I$rDd;_$5$;$k$H$+$O$I$&(B
> # $B$d$C$F<B8=$7$F$$$k$N$@$m$&!#(B

atomic compare and swap - lock cmpxchgl $B$,$"$l$P$"$H$OMW$i(B
$B$s(B -- trylock $B$G$3$1$?$i(B OS $B$K$O$?$h$i$:L5>r7o$K(B 
busywait/spinlock $B$9$k(B!!  -- $B$H$+(B [<- $B%&%=(B] :)

$B$A$i$C$H$_$?$+$s$8$G$O(B
--
glibc-2.2.3/linuxthreads/barrier.c: pthread_barrier_wait()
glibc-2.2.3/linuxthreads/spinlock.c: __pthread_lock()
glibc-2.2.3/linuxthreads/restart.h: suspend()
glibc-2.2.3/linuxthreads/pthread.c: __pthread_wait_for_restart_signal()
--
... $B$J$s$F$$$&$N$,$"$j$^$9$M!#:G8e$N$,(B sigsuspend() $B$K(B
$BMn$ACe$/$h$&$K!J0l8+!K8+$($^$9!#(B(JVM $B$,$3$N7PO)$rDL$k(B
$B$N$+$I$&$+$O8+$F$$$^$;$s(B)

$B$[$+$K$O6=L#E*$K$O(B MaxOS/X - darwin $B$G$O$I$&$J$C$F$k$N!)(B $B$H$+(B
$B$5$i$K$O(B MacOS9 $B$G$O!)$_$?$$$JOC$b$"$k$K$O$"$j$=$&$G$9$M(B :)

$B$3$J$+(B
