From owner-FreeBSD-users-jp@jp.freebsd.org  Tue Oct 30 05:02:08 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id FAA35930;
	Tue, 30 Oct 2001 05:02:08 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from deneb.buildkernel.org (deneb.buildkernel.org [203.141.147.253])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id FAA35925
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 30 Oct 2001 05:02:07 +0900 (JST)
	(envelope-from sakichan@sakichan.org)
Received: from alioth.sakichan.org (alioth.sakichan.org [192.168.1.3])
	by deneb.buildkernel.org (Postfix) with ESMTP id F1FD47250F
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 30 Oct 2001 05:01:32 +0900 (JST)
Received: from castor.sakichan.org (castor.sakichan.org [192.168.1.4])
	by alioth.sakichan.org (Postfix) with ESMTP id 9293831DD
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 30 Oct 2001 05:01:36 +0900 (JST)
Received: from castor.sakichan.org (localhost [::1])
	by castor.sakichan.org (Postfix) with ESMTP id 516493A207
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 30 Oct 2001 05:00:12 +0900 (JST)
Date: Tue, 30 Oct 2001 05:00:11 +0900
Message-ID: <vtr8zdu9pys.wl@castor.sakichan.org>
From: SAKIYAMA Nobuo <sakichan@sakichan.org>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <20011029.145308.30186558.okuyamak@dd.iij4u.or.jp>
References: <vtrsnc3u5wt.wl@castor.sakichan.org>
	<20011029.114135.41633014.okuyamak@dd.iij4u.or.jp>
	<vtrzo6bqc4q.wl@castor.sakichan.org>
	<20011029.145308.30186558.okuyamak@dd.iij4u.or.jp>
User-Agent: Wanderlust/2.4.1 (Stand By Me) WEMI/1.13.7 (Shimada) FLIM/1.13.2 (Kasanui) MULE XEmacs/21.4 (patch 3) (Academic Rigor) (i386-unknown-freebsd5.0)
MIME-Version: 1.0 (generated by WEMI 1.13.7 - "Shimada")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: FreeBSD-users-jp 65210
Subject: [FreeBSD-users-jp 65210] Re: pthread
 =?ISO-2022-JP?B?GyRCJSolVyU3JWclcyRyJEQkMSRrJEglUCU5JSgbKEI=?=
 =?ISO-2022-JP?B?GyRCJWkhPBsoQg==?= 
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: sakichan@sakichan.org

At Mon, 29 Oct 2001 14:53:08 +0900 (JST),
Kenichi Okuyama wrote:

> $B;d!"$3$NJ}K!$K$O$9$4$/5?Ld$,$"$k$s$G$9$,!D!#(BSMP $B$H$+$G!"(BCPU $B$NBf?t$,(B
> $B>/$J$$Fb$O$$$$$H;W$&$s$G$9$,!"Bf?t$,B?$/$J$C$F$/$k$H!"(BStore Update
> $B$K<:GT$7B3$1$k$H8@$&8=>]$,5/$i$J$$$s$G$7$g$&$+(B?$B7k2L$H$7$F!"!V3NN(E*(B
> $B$K!WA40w$,(B starvation $B$r5/$3$7$F$7$^$&!D$H$$$&;v$,!D!#(B

# $B$[$H$s$IC/$bFI$s$G$J$$5$$,$9$k$1$I0l1~!#(B

$B$^$:!"(Bread modify write $B7O$N$b$N$K$7$F$b!"(Bload linked/store
conditional $B7O$N$b$N$K$7$F$b!"$"$k%?%$%_%s%0$G$O!"86M}E*$K0l?M$O@.8y$9(B
$B$k$O$:$G$9$M!#C1=c$J%1!<%9$GA40w$,F1;~$K(B  starvation $B$9$k$H$$$&$3$H$O$J$$!#(B

$BLdBj$O!":G0-$N>l9g$K(B $BG$0U$NC/$+$,(B starvation $B$9$k$H$$$&$3$H$G$9$M!#$G!"(B
$B%M%9%H$7$F$$$k>l9g$K0MB84X78$G%7%9%F%`A4BN$,(B deadlock $B$X;j$k$H$+!#(B

$BC1=c$J(B spinlock $B$K$O$=$&$$$&$3$H$,$*$-$k2DG=@-$,$"$j$^$9$7!"(Bload
linked/store conditional $B$K$h$C$F$D$/$i$l$?C1=c$J(B spinlock $B$K$b!"$=$&(B
$B$$$&$3$H$,$*$-$k2DG=@-$OEvA3$"$j$^$9$M!#(B

$B0BD>$K2r7h$9$k$?$a$K$O!"%m%C%/$r3+J|$7$F$+$i:F$SF10l$N%m%C%/$r<hF@$9$k(B
$B$^$G$K!"$"$kDxEY$N;~4V$r$"$1$k$h$&$K;H$($P$$$$$O$:$G$9!#Nc$($P!"%W%m%;%C(B
$B%5?t$,(B n $B$G%m%C%/$r3NJ]$7$F$$$k;~4V$,:GD9$G(B m $B$@$H$9$k$H!"(B(n-1)*m $B$N4V(B
$B3V$r$"$1$l$P!"LdBj$O$*$-$J$$$O$:$G$9$M(B:-) ($B$b$A$m$s!"$3$&$$$&9M$(J}$r(B
$B$9$k>l9g$O%m%C%/$r$H$k$H$3$m$G$O3d$j9~$_6X;_$G$7$g$&!#(Bcritical region 
$B$G$O(Btrap $B$b$*$-$A$c$$$1$J$$(B)

$B:,K\E*$K2r7h$9$k$?$a$K$O!"LdBj$O!V;q8;$r3NJ]$G$-$k=gHV$r5,Dj$G$-$J$$!W(B
$B$3$H$K$"$k$N$G!"=gHV$rL@<(E*$K%"%k%4%j%:%`$G%9%1%8%e!<%j%s%0$7$F$"$2$l(B
$B$P$$$$$s$G$9!#$G!"$=$&$$$&%"%k%4%j%:%`$O5s$2$F9T$1$P$$$C$Q$$$"$j$^$9$1(B
$B$I!"Bg$-$/Fs$D$K$o$1$F$$$$$H;W$&!#(B

$B$R$H$D$O!"(Bticket lock $B$H8@$o$l$k$b$N$G$9!#(B

$B$3$l$O%+%&%s%?$rMQ0U$7$^$9!#%"%/%;%9$5$l$kEY$KFbIt$N?t;z$r=PNO$7$F!"(B+1 
$B$7$^$9!#%m%C%/$r$H$j$?$$%W%m%;%C%5$O%+%&%s%?$K%"%/%;%9$7$FHV9f$r<hF@$7(B
$B$F!":#EY$O=gHV$rCN$i$;$k$H$3$m$r8+$K$$$C$F<+J,$NHV9f$HF1$8HV9f$,Mh$k$^(B
$B$GBT$A$^$9!#<+J,$N=gHV$,Mh$?$i;E;v$r$-$F!":G8e$K=gHVI=<($N$H$3$m$K<+J,(B
$B$NHV9f(B+1 $B$r=q$$$F$"$2$l$P$*$o$j!#(B

$B%"%H%_%C%/$J%+%&%s%?$O(B"fetch and add" $BL?Na$NN`$,$"$k(BMPU$B$G$"$l$P$=$N$b(B
$B$N%:%P%j$r$D$/$k$3$H$,$G$-$k$N$G!"LdBj$J$/F0:n$7$^$9!#(B

$B$b$&$R$H$D$O!"(Bqueueing spin lock $B$H8@$o$l$k%/%i%9$G$9!#(B

$B$3$A$i$O!"%a%b%j>e$KL@<(E*$K(Bqueue $B9=B$$r$D$/$j!"$=$N>e$G3F%W%m%;%C%5$O(B
$B<+J,@lMQ$NNN0h$G(B spin $B$N(Btest $B$r$9$k7A$G$9!#(Benqueue $B$H(B dequeue $B$O(B
read-modify-write cycle $B$NL?Na(B($BE57?E*$K$O(B compare and swap $B$d(Bswap)$B$r;H$C(B
$B$F(B lock $B$r$H$i$:$K9T$J$$$^$9!#(B

$B$3$NJ}<0$N>l9g!"(BFIFO$B=g$@$1$G$J$/M%@hEY=g$b$G$-!"$5$i$KM%@hEY7Q>5%W%m%H(B
$B%3%k$N<BAu$J$I$G%j%"%k%?%$%`1~MQ$,2DG=$K$J$j$^$9!#(B

load linked/store conditional $B$b!"$3$N<o$N%"%k%4%j%:%`$N<BAu$K;H$&$3$H(B
$B$O$G$-$^$9!#$=$N>l9g$K$O$I$&$7$F$b!V%F%9%H$7B3$1$k!W>u67$,%3!<%I$N>e$G(B
$B$O@8$^$l$F$7$^$&(B($B$H!"$A$g$C$H9M$($?8B$j$G$O$=$&$G$9$,!"O@J8%5!<%Y%$$r(B
$B:#$7$F$J$$$N$G!"$=$s$J$3$H$O$J$$%"%k%4%j%:%`$b$R$g$C$H$7$?$i$"$k$+$b(B)
$B$N$@$1$I!"$G$b3F%W%m%;%C%5$N@-G=$,F1$8$@$C$?$i!"$O$8$a$N$[$&$K=q$$$?(B
$B!V;~4V$G2r7h$9$k!W%"%W%m!<%A$,M-8z$K$J$j$^$9!#$?$@!"$3$N>l9g$OHFMQE*$J(B
$B%m%C%/$N$?$a$N$b$N$G$O$J$/$F!"(Bticket lock $B$G$N(Bticket $BH/9T%+%&%s%?$H$+!"(B
queueing spin lock $B$G$N(B queue $B9=B$$NA`:n$H$$$C$?!"8BDj$5$l$?>l=j$G$NMx(B
$BMQ$K$J$k$N$G!"6qBNE*$J%3!<%I$N<B9T;~4V$N>e8B$r$"$i$+$8$a4JC1$K7W;;$G$-(B
$B$k$?$a!"(Bstarvation $B$,5/$-$J$$$3$H$rJ]>Z$9$k%"%k%4%j%:%`$r:n$k$3$H$b$*(B
$B$=$i$/$O$=$s$J$KFq$7$/$J$$$N$G$O$J$$$+$H;W$$$^$9!#(B
-- 
SAKIYAMA Nobuo ($B:j;3(B $B?-IW(B)  sakichan@sakichan.org
