🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.os.misc
Article #171

Re: MIPS TLB (Re: Swap out (Re: free...))

#171
From: Shigeru Yasuda
Date: Thu, 15 Feb 2001 12:17
45 lines
4471 bytes
In article <96agum$vn2@utogw.gssm.otsuka.tsukuba.ac.jp>,
    <kuno@gssm.otsuka.tsukuba.ac.jp> wrote:

>> yasuda@uxd.fc.nec.co.jpさん:
>> > ユーザ空間に関しては確かにあんまりないと思います。ただ、カーネ
>> > ル空間だと結構あるんですよね。
>> 
>>   なるほどね。カーネル空間をCPU間でもうちょっと分けるとか、そう
>> いう工夫があったらいいのかも。

なるほど。
32bit だと空間が狭すぎてどうしようもないと思いますが、64bit だったら、
思いきって CC-NUMA 的な制御を導入してしまうと面白いかも知れないですね。
framework だけ作っておけば、クラスタ化などにも流用できそうだし。

# 面白そうだけどめんどくさそう:-)

>>   dirtyがないというのは不便ですよね。しかしCOWの場合はOSが情報を
>> 持っておけばread onlyなTLBはlazyに新しいマッピングに移すという方
>> 向で対処できないのかな。

read only な TLB ということは、COW とマークしたページに書き込んだ時の
fault で、read アクセスで載ってしまった read only な TLB entry を read
write に設定しなおすという話ですか? もしそうでしたら、プロテクションに
write を追加する場合は TLB の flush は必要ではないので、たぶんそんな感
じの実装になると思います。

ただ、COW を検出するために write 権を落す場合は TLB flush は必須です。
COW する領域の TLB を一つ一つ消すよりは、TLB pid を付け直した方がたぶ
ん早いでしょう。

COW は最初の一発目の書き込みを検出してその場で copy しなくてはならない
ので、どの CPU でも大体実装は同じになるのではないかと思います。でも、
アプリケーションを作る側でいろいろと工夫をする余地はあると思っています。

COW による TLB flush を避けるために、fork() して即 exec() するなら
vfork() を使うとか、アプリケーションを作る側でもシステムのアーキテクチャ
を知ってた方が有利なことがいっぱいある(と思う)んですが、そういう事を意
識してアプリケーションを作っている人ってそんなに多くないですよね。
有利になるというだけの話なので強制ではないですが。

# exit() 直前の free() なんかもそういう話だと思います。:-P

--
やすだ
Technical Details
Message-ID: <4oelx0uolx.fsf@musclegod.d1.uxd.fc.nec.co.jp>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!cyclone2.usenetserver.com!news-out.usenetserver.com!newsfeed.mesh.ad.jp!tyo212.gate.nec!newssv2.nec!uxd.fc.nec!knl-news.d1.uxd.fc!not-for-mail
References: <4od7ctyb0t.fsf@musclegod.d1.uxd.fc.nec.co.jp> <95uc13$29nf@utogw.gssm.otsuka.tsukuba.ac.jp> <4o4ry4y77n.fsf@musclegod.d1.uxd.fc.nec.co.jp> <95vsnb$2hul@utogw.gssm.otsuka.tsukuba.ac.jp> <4ozofwwf5a.fsf@musclegod.d1.uxd.fc.nec.co.jp> <9608l7$2k6k@utogw.gssm.otsuka.tsukuba.ac.jp> <4ovgqkw4hg.fsf@musclegod.d1.uxd.fc.nec.co.jp> <960pvl$2o4k@utogw.gssm.otsuka.tsukuba.ac.jp> <4osnljwdhs.fsf@musclegod.d1.uxd.fc.nec.co.jp> <96agum$vn2@utogw.gssm.otsuka.tsukuba.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 10574f,25ac691958107c7
X-Google-Attributes: gid10574f,public
X-Google-Thread: 1117a5,b750ae6500cfebfa
X-Google-Attributes: gid1117a5,public
X-Google-ArrivalTime: 2001-02-15 04:18:06 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!cyclone2.usenetserver.com!news-out.usenetserver.com!newsfeed.mesh.ad.jp!tyo212.gate.nec!newssv2.nec!uxd.fc.nec!knl-news.d1.uxd.fc!not-for-mail
From: Shigeru Yasuda <yasuda@uxd.fc.nec.co.jp>
Newsgroups: fj.os.misc,fj.comp.arch
Subject: Re: MIPS TLB (Re: Swap out (Re: free...))
Date: 15 Feb 2001 21:17:46 +0900
Organization: NEC Corporation, Fuchu Tokyo Japan
Lines: 45
Sender: yasuda@musclegod.d1.uxd.fc.nec.co.jp
Message-ID: <4oelx0uolx.fsf@musclegod.d1.uxd.fc.nec.co.jp>
References: <4od7ctyb0t.fsf@musclegod.d1.uxd.fc.nec.co.jp> <95uc13$29nf@utogw.gssm.otsuka.tsukuba.ac.jp> <4o4ry4y77n.fsf@musclegod.d1.uxd.fc.nec.co.jp> <95vsnb$2hul@utogw.gssm.otsuka.tsukuba.ac.jp> <4ozofwwf5a.fsf@musclegod.d1.uxd.fc.nec.co.jp> <9608l7$2k6k@utogw.gssm.otsuka.tsukuba.ac.jp> <4ovgqkw4hg.fsf@musclegod.d1.uxd.fc.nec.co.jp> <960pvl$2o4k@utogw.gssm.otsuka.tsukuba.ac.jp> <4osnljwdhs.fsf@musclegod.d1.uxd.fc.nec.co.jp> <96agum$vn2@utogw.gssm.otsuka.tsukuba.ac.jp>
NNTP-Posting-Host: musclegod.d1.uxd.fc.nec.co.jp
Mime-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya")
Content-Type: text/plain; charset=ISO-2022-JP
X-Trace: zombi.d1.uxd.fc.nec.co.jp 982239471 5524 10.34.101.16 (15 Feb 2001 12:17:51 GMT)
X-Complaints-To: news@knl-news.d1.uxd.fc.nec.co.jp
NNTP-Posting-Date: Thu, 15 Feb 2001 12:17:51 +0000 (UTC)
X-cite: xcite 1.31
X-Face: 'AWu6_8\0y9BJ[ViS_mVJUDK>f+iF!d,:P8cS<GUK=je$RicP)G\|ya'OFwnbdsz8c!HMuy
 _qOsG40I@l1S`{.[!N|rk(+^8OC-5Bw&pQ~rQTgTiI,%XZsrp\cZ0jjb6;mi<K"gr|8Vg)m9_T\#m\
 4JNu|`3Vlq-,H)gFJ{35+;VXD==4>fJ0[DBV@r)cFN[jDh=X,,Xq~OnxQJU]J#s;NFc$yhn^wt2
X-Face-Version: X-Face utility v1.3.6.10 - "Yellow Submarine (remix)"
                with Select X-Face v0.14 - "Keep Under Cover"
User-Agent: T-gnus/6.14.6 (based on Gnus v5.8.8) (revision 02) SEMI/1.14.3
 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/20.7
 (sparc-sun-solaris2.5.1) MULE/4.0 (花宴)