From owner-FreeBSD-users-jp@jp.FreeBSD.org Thu Nov  1 18:09:16 2007
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id lA199GV60426;
	Thu, 1 Nov 2007 18:09:16 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mail0.ecc.u-tokyo.ac.jp (mail0.ecc.u-tokyo.ac.jp [133.11.50.199])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id lA199GB60413
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 1 Nov 2007 18:09:16 +0900 (JST)
	(envelope-from simokawa@freebsd.org)
Received: from spam004.ecc.u-tokyo.ac.jp (spam004.ecc.u-tokyo.ac.jp [133.11.50.197])
	by mail0.ecc.u-tokyo.ac.jp (Postfix) with ESMTP id 0403D1BF803B
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu,  1 Nov 2007 18:09:11 +0900 (JST)
Received: from maru5.nunu.org (157.82.169.72 [157.82.169.72])
	by spam004.ecc.u-tokyo.ac.jp (SpamBlock.pst 3.4.97)
	with ESMTP id <86odeepc2w.wl%simokawa@FreeBSD.ORG>
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 1 Nov 2007 18:08:45 +0900
Message-ID: <86odeepc2w.wl%simokawa@FreeBSD.ORG>
From: Hidetoshi Shimokawa <simokawa@FreeBSD.org>
To: FreeBSD-users-jp@jp.FreeBSD.org
Cc: iwasaki@jp.FreeBSD.org
In-Reply-To: <20071031.235421.91752616.iwasaki@jp.FreeBSD.org>
References: <20071030.211412.124090535.iwasaki@jp.FreeBSD.org>
	<20071030.222535.90831946.iwasaki@jp.FreeBSD.org>
	<86r6jbhngx.wl%bowie@nrik.jp>
	<20071031.235421.91752616.iwasaki@jp.FreeBSD.org>
User-Agent: Wanderlust/2.15.2 (Almost Unreal) SEMI/1.14.6 (Maruoka)
 FLIM/1.14.8 (=?ISO-8859-4?Q?Shij=F2?=) APEL/10.6 Emacs/22.0.50
 (i386-unknown-freebsd5.4) MULE/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")
Content-Type: text/plain; charset=ISO-2022-JP
X-IP: 157.82.169.72
X-FROM-DOMAIN: freebsd.org
X-FROM-EMAIL: simokawa@freebsd.org
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Thu, 01 Nov 2007 18:08:39 +0900
X-Sequence: FreeBSD-users-jp 91141
Subject: [FreeBSD-users-jp 91141] Re: ciss driver patches
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: simokawa@freebsd.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

$B2<@n$G$9(B.

At Wed, 31 Oct 2007 23:54:21 +0900,
Mitsuru IWASAKI wrote:
> > $B%l%]!<%H$7$?;~E@$K6a$$(B10/26 00:00:00 GMT$B;~E@$N(Bcurrent$B$K$"$F$F(B
> > $B;n$7$F$_$^$7$?!#7k2L$O%^%k%A$K$J$kA0$K(Bpanic$B$7$F$7$^$$$^$7$?!#(B
> 
> $B?=$7Lu$J$$$G$9!"$A$g$C$H5^$.$9$.$^$7$?$M!#:#EY$O$I$&$G$7$g$&(B?
> 
> http://people.freebsd.org/~iwasaki/ciss/ciss_periodic_thread-20071031.patch

code$B$r<P$aFI$_$7$@$1$J$N$G(B, $B4V0c$C$F$k$+$b$7$l$^$;$s$,(B,
$B5$$K$J$C$?E@$r$$$/$D$+;XE&$5$;$F$/$@$5$$(B.

1. lock $B$NHO0O(B

witness$B$rL[$i$;$k$?$a$K(B, ciss_synch_request() $B$r(B call $B$9$k$H$-(B
$B$N$_(B lock $B$r;}$C$F$^$9$,(B, $B$3$l$@$1$G==J,$G$7$g$&$+(B?
ciss_get_request() $B$b(B ciss_dequeue_free() $B$"$?$j$G(B, tailq $B$r(B
$B$$$8$C$F$$$k$N$G(B, lock $B$r;}$C$F$J$$$H(B, tailq $B$r2u$92DG=@-$,(B
$B$"$k$H;W$$$^$9(B. $B$A$J$_$K(B callout version $B$G$O(B, callout_init_mtx()
$B$7$F$$$k$N$G(B, lock $B$O;}$C$F$$$^$9(B.

$B$U$D$&$3$N<j$N(B thread $B$r<BAu$9$k>l9g$K$O(B,
ciss_periodic_thread() $B$N@hF,$G(B mutex $B$r<hF@$7$^$9(B.
$B$=$7$F(B, $B;E;v$,=*$C$?$i(B, tsleep() $B$7$J$$$G(B msleep() $B$7$F(B lock
$B$r2rJ|$7$F$*$d$9$_$7$^$9(B.

2. kproc_exit $B$H(B detach

$B$3$l$O(B, $B$A$g$C$H$d$d$3$7$$OC$G(B, kldunload $B$H(B, hot unplug
$B$H$+$7$J$$$HI=LL2=$7$J$$OC$G$9$,(B,
ciss_detach() $B$9$k$H$-$K(B, kproc $B$,(B exit $B$9$k$N$r$A$c$s$H(B
$B8+FO$1$F$"$2$J$$$H(B, page fault $BEy$,$*$3$j$^$9(B.
periodic_thread $B$O(B, $BBgDq(B sleep $B$7$F$$$k$o$1$G(B, $B$=$N4V$K(B
kldunload $B$H$+$5$l$F$k$H(B, driver $B$N(B code $B$,(B kernel space
$B$+$i$$$J$/$J$C$F$7$^$$(B, $B5/$-$?$H$-$K$O(B, $B$3$3$O$I$3>uBV$K$J$j$^$9(B.
$B$J$N$G(B, detach $B$9$k$-$K$O(B, thread $B$r5/$7$F(B, exit $B$9$k$^$G(B
$BBT$?$J$$$H$$$1$^$;$s(B.

ciss_periodic_thread()$B$K$b(B, ciss_kill_notify_thread() $BAjEv(B
$B$N$b$N$,I,MW$G$9(B.

3. kproc $BI,MW(B?
$B;d$N0u>]$G$9$,(B, nop$BAw$k$@$1$J$i(B, $B$o$6$o$6(B, kproc $B:n$kI,MW$,(B
$B$"$k$+$J$H;W$$$^$9(B. $BF14|(B request $B$r;H$&$+$i(B sleep $B$7$J$/$F(B
$B$O$$$1$J$$$N$G$"$C$F(B, $BIaDL$KHsF14|(B request $B$7$F(B,
callback $B$G(B, struct ciss_reqest $B$r2rJ|$9$k0L$GNI$$$h$&$J(B
$B5$$,$7$^$9(B.

/\ Hidetoshi Shimokawa
\/  simokawa@FreeBSD.ORG
