dragonfly bsd どうよ
なんか面白そうだが。
探検
dragonfly bsd どうよ
NGNG
NGNG
>>16
まだ何年も4.xが続くのかよorz
まだ何年も4.xが続くのかよorz
NGNG
さっさと5.3-STABLE出汁!!
NGNG
本日の進捗@中学生英語
http://wids.net/balk/dragonflybsd.FAQ.j.txt
http://wids.net/balk/dragonflybsd.FAQ.j.txt
NGNG
とりあえず乙かれー
NGNG
正直非常に期待しているのだが
FreeBSDのコードがそのまま動くGUIベースのOSになるの?
FreeBSDのコードがそのまま動くGUIベースのOSになるの?
NGNG
>>21
何を期待しているの?
何を期待しているの?
NGNG
>>22
ロゴ
ロゴ
NGNG
軽量スレッドが売り文句らしいが/.の記事だけでは良く分からん
ttp://slashdot.jp/bsd/04/03/14/1417235.shtml?topic=26
ttp://slashdot.jp/bsd/04/03/14/1417235.shtml?topic=26
NGNG
N+I2004のBSD BOFのスライドでは結構細かく解説していたよ。
あの発表をみて、ちょっとインストールしてみようかなと思った人も多かったみたい。
どっかに.pptを公開してくれないかな。
あの発表をみて、ちょっとインストールしてみようかなと思った人も多かったみたい。
どっかに.pptを公開してくれないかな。
NGNG
余計な時間をかなり横で喰われて肝心の発表がかなり飛ばされていたからなぁ... > N+I BOF
27名無しさん@お腹いっぱい。
NGNG で、誰か実際に使ってる?
インストーラ(LiveCDで手で入れるのじゃない方の)は試してみた?
インストーラ(LiveCDで手で入れるのじゃない方の)は試してみた?
NGNG
カーネルいじるわけでもない人がこれ使って何か楽しい事あるのかな
NGNG
んじゃ、FreeBSD5とDragonflyBSDとでApache2のパフォーマンスの違いを測定して楽しむ。
NGNG
SMPだと違いが出そうだな。
31名無しさん@お腹いっぱい。
NGNG FreeBSD5となにがどうちがうの?
32名無しさん@お腹いっぱい。
NGNGNGNG
NGNG
NGNG
SMP環境といっても、これからはマルチコア化で性能稼ぐ方向に
あるらしいから、特別な環境というわけでもないんだよね。
あるらしいから、特別な環境というわけでもないんだよね。
NGNG
SMPマザーでapache2をMPM=WORKERで動かして、FreeBSD5とDragonflyでどのぐらい違うかだよな。
NGNG
はじめてのBSD体験になりました
蟹NICの認識どうすればよいんだ
rouge入っててワロタ
蟹NICの認識どうすればよいんだ
rouge入っててワロタ
NGNG
初めて過ぎてISOをブートCDにする方法すら分からん(汗
40名無しさん@そうだ選挙に行こう
NGNG rogue入っているなら、Dragonfly支持
NGNG
GUIに力を入れるってのはいいね
ぬるユーザのおいら向け
ぬるユーザのおいら向け
NGNG
benchmark マダー(AA略
NGNG
ドラゴンフリャーBSD
NGNG
>>43
それは邦訳版をエビフライBSDにしろという圧力ですか?
それは邦訳版をエビフライBSDにしろという圧力ですか?
NGNG
オレ竜BSDかよ
NGNG
ヘ へ
EbiFly BSD :| / /
.;: ":;.
∧∧,..,.. ;'、., : 、
;'・-・o、:、.: : ;:'
'、;: ...: ,:. :.、.: '
`"∪∪''゙
EbiFly BSD :| / /
.;: ":;.
∧∧,..,.. ;'、., : 、
;'・-・o、:、.: : ;:'
'、;: ...: ,:. :.、.: '
`"∪∪''゙
NGNG
同じコードではコンパイル出来ない事態に陥ったら*BSD系じゃ無くなるね
NGNG
,.、,、,..,、、.,、,、、..,_ /i
;'`Dragonfly BSD:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
`"゙' ''`゙ `´゙`´´´
Dragonfly BSD
 ̄ ̄∨ ̄ ̄ ̄ ̄
.∧∧
,.、,(゚∀゚ ) /i
;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
'、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
`` U U
,.、,、,..,、、.,、,、、..,_ /i
;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.∩.. .:: _;.;;.∩‐'゙  ̄  ̄
`"゙' ''`゙ //゙`´´ | |
//Λ_Λ | |
| |( ´Д`)// <Dragonfly BSD
\ |
\ |
(ry
;'`Dragonfly BSD:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
`"゙' ''`゙ `´゙`´´´
Dragonfly BSD
 ̄ ̄∨ ̄ ̄ ̄ ̄
.∧∧
,.、,(゚∀゚ ) /i
;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
'、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
`` U U
,.、,、,..,、、.,、,、、..,_ /i
;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.∩.. .:: _;.;;.∩‐'゙  ̄  ̄
`"゙' ''`゙ //゙`´´ | |
//Λ_Λ | |
| |( ´Д`)// <Dragonfly BSD
\ |
\ |
(ry
NGNG
俺もNuggetBSD作ろうと思います。
NGNG
>>41
LiveCDの方にはX入って無かったよ
LiveCDの方にはX入って無かったよ
NGNG
>48,46
龍ふりゃー だったら fly じゃなくて fry なんじゃネーノ?
あとどうせならデーモン君が fork で食べているとかそんな絵にしないと。
龍ふりゃー だったら fly じゃなくて fry なんじゃネーノ?
あとどうせならデーモン君が fork で食べているとかそんな絵にしないと。
NGNG
お前らは中学を卒業できていないDQNの群れですか。
NGNG
いいじゃんそんなBSDがあっても
人生を楽しく生きるコツは童心を忘れない事だ
人生を楽しく生きるコツは童心を忘れない事だ
NGNG
FlyBSDとしてFreeBSD2系のメンテを行いたいと思います。
NGNG
EbiFry BSDとしてスキンを用意して邦訳すると。
NGNG
スキンは岡本理研でいいですか?
NGNG
それじゃエビフライじゃなくてイカフライだろ
NGNG
このスレだけノリがUNIXっぽくないな
NGNG
UNIX板は下ネタが多いので無問題。
NGNG
来ましたよー
NGNG
いらっしゃいませ。
NGNG
(・∀・)エッコー
NGNG
NGNG
Frescoが標準だったりして
NGNG
NGNG
NGNG
デーモン君のフェードアウトはGUIへの本気度の表れと見た
NGNG
デーモンダサイ、死ね
NGNG
インストーラのバグで、パーティションが既に存在するディスクに
fdiskを使った場合、後ろのほうにあるパーティションの情報を
吹き飛ばしてしまう可能性があるらしい。パーティションの切り直しが
必要な人は修正版が出るのを待ったほうが無難。
fdiskを使った場合、後ろのほうにあるパーティションの情報を
吹き飛ばしてしまう可能性があるらしい。パーティションの切り直しが
必要な人は修正版が出るのを待ったほうが無難。
NGNG
CUI・GUIの起動画面に使えるエビフライを依頼するしか俺たちに残された道は無い。
NGNG
GUIに力入れるならまずインストーラからGUIにしてほしいね。
そーいやQt使ったインストーラて見ないな
そーいやQt使ったインストーラて見ないな
NGNG
FreeBSD 4.x と DragonFly でベンチ取ろうと思うんだけど、何か有用な
ベンチ知ってる人いますかー ?
>>36 のを 4.x で取ろうと思ったら apache2 を worker でビルドできんかった。
ベンチ知ってる人いますかー ?
>>36 のを 4.x で取ろうと思ったら apache2 を worker でビルドできんかった。
NGNG
そりゃそーだ。
currentは最近マズーだから5.2.1Rで取ってみたら? acpiはオフで。
currentは最近マズーだから5.2.1Rで取ってみたら? acpiはオフで。
NGNG
5.x にはあげられない理由がちとありまして。。。
4.x で何とかならないかな、と。
4.x で何とかならないかな、と。
NGNG
なんとかすれば。というか普通にデフォルトでビルドすればいいじゃん。
NGNG
そろそろBSDもカーネルにGUI関係を組み込んでもいいころだね
NGNG
・WindowsのようにカーネルへGUI関連の機能を埋め込む。
・BeOSのようにドライバ用の仮想空間(インターフェイス)を作る。
・TRONのようにユーザーランドを1プロセスにする。
・MacOSのようにX11以外のウィンドウシステムを作る。
・BeOSのようにドライバ用の仮想空間(インターフェイス)を作る。
・TRONのようにユーザーランドを1プロセスにする。
・MacOSのようにX11以外のウィンドウシステムを作る。
NGNG
NGNG
DragonflyのGUI重視ってのは、
Linuxのディストリみたいに、インストールすると、
KDEなり、GNOMEなり標準搭載されたGUIで起動できるって事なのかな?
Linuxのディストリみたいに、インストールすると、
KDEなり、GNOMEなり標準搭載されたGUIで起動できるって事なのかな?
NGNG
んなアフォな
NGNG
>>79 「GUI重視」というのはソースは?
NGNG
>>78
古いWindowsNTみたいになるのか?
古いWindowsNTみたいになるのか?
NGNG
GUI重視ではなくて、GUIにも力を入れるよと言ってるだけだね。
ttp://slashdot.jp/bsd/04/03/14/1417235.shtml?topic=26
ttp://slashdot.jp/bsd/04/03/14/1417235.shtml?topic=26
NGNG
userlandが4ベースというのが激しく気にいらんなぁ。
NGNG
でもrcNGが入ってるのはうれしい。
NGNG
NGNG
(´・ω・`)エッコー...
NGNG
インストールしてみたけど、時計がはえーです。普通の 2倍くらいのはやさで
時を刻んでます。
acpi も切ったりしてみたけど、変わらず。同じような症状出た人いませんか ?
時を刻んでます。
acpi も切ったりしてみたけど、変わらず。同じような症状出た人いませんか ?
NGNG
>>88
ワラタ
ワラタ
NGNG
>>88
その場合、パフォーマンスも2倍になるのか?
だったら素晴らしい機能だ。
……という冗談は置いといて、似たような話をFreeBSDでも聞いたことが
あったような気がする。
確かsysctlでkern.timecounter.*をいじるようなことを言ってたような……
その場合、パフォーマンスも2倍になるのか?
だったら素晴らしい機能だ。
……という冗談は置いといて、似たような話をFreeBSDでも聞いたことが
あったような気がする。
確かsysctlでkern.timecounter.*をいじるようなことを言ってたような……
NGNG
>>90
残念ながらdflyにkern.timecounterは存在しない。
MLのバグレポートではP166が実際に速くなるらしいね。
|Re-syncing the clock is not the problem. :) Having a CPU that is
|running at hyperspeed and causing heat problems is. When the system
|clock starts running faster, the whole system starts running faster.
|I've watched the P166 run through a buildworld in very little time
|(around 30 minutes wall time). The resulting binaries don't work,
残念ながらdflyにkern.timecounterは存在しない。
MLのバグレポートではP166が実際に速くなるらしいね。
|Re-syncing the clock is not the problem. :) Having a CPU that is
|running at hyperspeed and causing heat problems is. When the system
|clock starts running faster, the whole system starts running faster.
|I've watched the P166 run through a buildworld in very little time
|(around 30 minutes wall time). The resulting binaries don't work,
9288
NGNGNGNG
> The resulting binaries don't work,
って、おいおい…
って、おいおい…
NGNG
なんでこんな状態で1.0にしちゃったんだ。リリースマネージメントがアレすぎ。
NGNG
そらマネジメントする奴がおらんからな。
>>94 やってみるか?
>>94 やってみるか?
NGNG
version1.0じゃなくてupload1.0って意味にしとこう。
NGNG
NGNG
MacOSX並のGUIまだー チンチン
NGNG
>>98
gnustep(違
gnustep(違
100名無しさん@お腹いっぱい。
NGNG 100age
NGNG
今日cvsupしたんだけれど、
CCVERがgcc34でbuildworld通った人います?
CCVERがgcc34でbuildworld通った人います?
NGNG
LiveCD版しか使ってない
↓どう?
↓どう?
NGNG
>>101
無理です。あきらめて一度gcc2でbuildworldしましょう。
無理です。あきらめて一度gcc2でbuildworldしましょう。
NGNG
NGNG
まあ、userlandのベースがFreeBSD4.xだから、gcc3でコンパイルできなくても文句は
言えないってことなんだろうけど…
言えないってことなんだろうけど…
106103
NGNG >>105
違う違う、そういう意味じゃない。gcc3用のクリーンアップはずっと
昔に済んでるよ。問題なのはbuildworldの最初の方にやるいくつかの
サブターゲットはシステムにインストールされているコンパイラを使うん
だけど、CCVER=gcc34になっているとそのコンパイラが(存在しない)
gcc34を使おうとして失敗するというものだったはず。もしbsd.cpu.mkに
怒られるんだったらソースツリーの中じゃなくシステムの方の/usr/share/mkを
使っているということだから、CCVER_BSD_CPU_MK=gcc2と設定すればいいんだけど
まあ試してみて。
違う違う、そういう意味じゃない。gcc3用のクリーンアップはずっと
昔に済んでるよ。問題なのはbuildworldの最初の方にやるいくつかの
サブターゲットはシステムにインストールされているコンパイラを使うん
だけど、CCVER=gcc34になっているとそのコンパイラが(存在しない)
gcc34を使おうとして失敗するというものだったはず。もしbsd.cpu.mkに
怒られるんだったらソースツリーの中じゃなくシステムの方の/usr/share/mkを
使っているということだから、CCVER_BSD_CPU_MK=gcc2と設定すればいいんだけど
まあ試してみて。
NGNG
>>103
CCVER_BSD_CPU_MK=gcc2 設定したらbuildworld通りますた(`・ω・´)
ついでにmake.confも見直したんだけれど、
/etc/defaultsにもmake.conf入っていてびびった。
FreeBSDも最近は/etc/defaultsに入ってるのかな。
CCVER_BSD_CPU_MK=gcc2 設定したらbuildworld通りますた(`・ω・´)
ついでにmake.confも見直したんだけれど、
/etc/defaultsにもmake.conf入っていてびびった。
FreeBSDも最近は/etc/defaultsに入ってるのかな。
NGNG
4.xでは/etc/defaultsに入ってる
5.xでは違うところに入ってる
5.xでは違うところに入ってる
NGNG
hrs氏の日記にDragonFlyの話題が。
ttp://www.allbsd.org/~hrs/diary/200408.html#d0801
日本語の文書の中では、今のとこ一番わかりやすいと思う。
ttp://www.allbsd.org/~hrs/diary/200408.html#d0801
日本語の文書の中では、今のとこ一番わかりやすいと思う。
NGNG
ポート/メッセージモデル
DragonFlyはLWKTに同調する軽量なポート/メッセージAPIを備える予定です。
ポート/メッセージAPIの概念は非常に単純です。まずメッセージを組み立て、
目標となるポートへ送り、あとで自分の応答ポートに返事が来るのを待つ
というものです。この単純な概念にもとづいて、高度な機能を構築し、
洗練化を行います。このメッセージングシステムの機能を理解するには、
まずメッセージがどのように送信されるのかを理解する必要があります。
基本的には以下のように動作します:
DragonFlyはLWKTに同調する軽量なポート/メッセージAPIを備える予定です。
ポート/メッセージAPIの概念は非常に単純です。まずメッセージを組み立て、
目標となるポートへ送り、あとで自分の応答ポートに返事が来るのを待つ
というものです。この単純な概念にもとづいて、高度な機能を構築し、
洗練化を行います。このメッセージングシステムの機能を理解するには、
まずメッセージがどのように送信されるのかを理解する必要があります。
基本的には以下のように動作します:
NGNG
メッセージAPIはこの基本的は構造を同期/非同期メッセージ関数に内包します。
lwkt_domsg()はメッセージを同期的に送り、返答を待ちます。この関数は
目標ポートにヒントを与えるためのフラグをセットします。それはメッセージが
同期的にブロックされることを示すもので、目標ポートがEASYNCを返した場合
lwkt_domsg()はブロックします。lwkt_sendmsg()はメッセージを非同期的に
送りますが、目標ポートが同期的なエラーコード(つまりEASYNC以外全て)を返した
場合、lwkt_sendmsg()はもう完了したメッセージを返答ポート自身のキューに手動で
入れます。
lwkt_domsg()はメッセージを同期的に送り、返答を待ちます。この関数は
目標ポートにヒントを与えるためのフラグをセットします。それはメッセージが
同期的にブロックされることを示すもので、目標ポートがEASYNCを返した場合
lwkt_domsg()はブロックします。lwkt_sendmsg()はメッセージを非同期的に
送りますが、目標ポートが同期的なエラーコード(つまりEASYNC以外全て)を返した
場合、lwkt_sendmsg()はもう完了したメッセージを返答ポート自身のキューに手動で
入れます。
112名無しさん@中学生英語
NGNGNGNG
推測できると思いますが、目標ポートのmp_SendMsg()関数はメッセージを
どう扱うかを完全に制御します。メッセージフラグによって渡されたヒントが
どのようなものであっても、目標ポートはメッセージに対して(呼び元から
見て)同期的にふるまって応答することも、メッセージをキューに入れてEASYNCを
返すこともできます。一般的にメッセージ処理は発信者から見て「ブロック」
すべきではありません。つまり、メッセージを同期的に処理することがブロック
につながるのであれば目標ポートは同期的に処理してはいけないということです。
そのかわりに、自身のスレッドのキュー(目標ポートの構造体に、便利なように
埋め込んであるメッセージキュー)に入れて、EASYNCを返すようにします。
どう扱うかを完全に制御します。メッセージフラグによって渡されたヒントが
どのようなものであっても、目標ポートはメッセージに対して(呼び元から
見て)同期的にふるまって応答することも、メッセージをキューに入れてEASYNCを
返すこともできます。一般的にメッセージ処理は発信者から見て「ブロック」
すべきではありません。つまり、メッセージを同期的に処理することがブロック
につながるのであれば目標ポートは同期的に処理してはいけないということです。
そのかわりに、自身のスレッドのキュー(目標ポートの構造体に、便利なように
埋め込んであるメッセージキュー)に入れて、EASYNCを返すようにします。
NGNG
: (このパラグラフは特に変更しなくていいよね)
ここで覚えておくべき重要なことは、もっともよい最適化とはmp_SendMsg()に
よる直接の実行で、単純なサブルーチン呼出しの他には実質的にオーバヘッドを
伴わないことです(訳注: no more〜thenはDillonのいつもの釣りね)。
キュー処理もせず、応答ポートをいじることもなく、ということです。もし
メッセージを同期的に扱ってよいのであれば、これは非常にコストの低い
処理ということになります。この特徴があるからこそ、性能の問題を気にせずに
メッセージングインタフェースを意図して使うことができるのです。私達は
たとえばMachで用いているような種類の洗練手法を使うことはあえてしません。
少なくとも低レベルなメッセージインタフェイスでは、メモリマップやポインタの
追跡といったことをしません。ユーザ⇔カーネル間のメッセージインタフェイスは
単純にmp_SendMsg()の関数ベクタを用い、それによって適切な変換をします。
そうすることで、送信側と受信側に関しては、メッセージがそれらの
VMコンテキストに対しローカルになります(局所性を持つということ)。
ここで覚えておくべき重要なことは、もっともよい最適化とはmp_SendMsg()に
よる直接の実行で、単純なサブルーチン呼出しの他には実質的にオーバヘッドを
伴わないことです(訳注: no more〜thenはDillonのいつもの釣りね)。
キュー処理もせず、応答ポートをいじることもなく、ということです。もし
メッセージを同期的に扱ってよいのであれば、これは非常にコストの低い
処理ということになります。この特徴があるからこそ、性能の問題を気にせずに
メッセージングインタフェースを意図して使うことができるのです。私達は
たとえばMachで用いているような種類の洗練手法を使うことはあえてしません。
少なくとも低レベルなメッセージインタフェイスでは、メモリマップやポインタの
追跡といったことをしません。ユーザ⇔カーネル間のメッセージインタフェイスは
単純にmp_SendMsg()の関数ベクタを用い、それによって適切な変換をします。
そうすることで、送信側と受信側に関しては、メッセージがそれらの
VMコンテキストに対しローカルになります(局所性を持つということ)。
NGNG
軽量カーネルスレッドモデル
DragonFlyはその中核部分に軽量カーネルスレッド(LWKT)を用います。
システムのプロセスは全てスレッドと結びついていて、カーネルのみの
プロセスのほとんどは事実上純粋なスレッドです。たとえば、pageout
デーモンは純粋なスレッドでプロセスコンテクストを持ちません。
LWKTモデルはアーキテクチャによらないいくつかの鍵となる特徴があります。
これらの特徴はCPU間の競合を除く、あるいは減らすために設計されています。
1.システムの各CPUは自己完結のLWKTスケジューラを持ちます。スレッドは意図的に
CPUに結びついていて、いくつかの特殊な状況下でのみ他のCPUへ移動することが
できます。特定のCPU上のLWKTスケジューリング処理はそのCPU上でのみ直接
実行されます。これは、LWKTスケジューラ本体がスケジュール追加、除去、
CPU内でのスレッド間スイッチを、ロックを一切せずに処理できるということです。
単純なクリティカルセクションの除いてはMPロックもなにもなしにです。
2. スレッドはカーネルで動作中は他のCPUにプリエンプティブに移動されることは
ありません。スレッドはブロックされている間はCPU間を移動しません。
ユーザランドスケジューラはユーザモードで実行しているスレッドを移動できます。
スレッドは非割り込みスレッドへプリエンプティブにスイッチすることは
ありません(この間FreeBSD初心者スレで出た話題のやつね)。割り込みスレッドが
カレントスレッドをプリエンプトする場合、割り込みスレッドが終了または
ブロックした時点でプリエンプトされた方のスレッドはスケジュール状態によらず
復元されます。たとえば、あるスレッドはlwkt_deschedule_self()を呼んだあと、
実際に(別のスレッドへ)スイッチする前にプリエンプトされる可能性があります。
これは問題ありません。なぜなら割り込みスレッドが完了またはブロックしたあと
そのスレッドに直接制御が戻るからです。
DragonFlyはその中核部分に軽量カーネルスレッド(LWKT)を用います。
システムのプロセスは全てスレッドと結びついていて、カーネルのみの
プロセスのほとんどは事実上純粋なスレッドです。たとえば、pageout
デーモンは純粋なスレッドでプロセスコンテクストを持ちません。
LWKTモデルはアーキテクチャによらないいくつかの鍵となる特徴があります。
これらの特徴はCPU間の競合を除く、あるいは減らすために設計されています。
1.システムの各CPUは自己完結のLWKTスケジューラを持ちます。スレッドは意図的に
CPUに結びついていて、いくつかの特殊な状況下でのみ他のCPUへ移動することが
できます。特定のCPU上のLWKTスケジューリング処理はそのCPU上でのみ直接
実行されます。これは、LWKTスケジューラ本体がスケジュール追加、除去、
CPU内でのスレッド間スイッチを、ロックを一切せずに処理できるということです。
単純なクリティカルセクションの除いてはMPロックもなにもなしにです。
2. スレッドはカーネルで動作中は他のCPUにプリエンプティブに移動されることは
ありません。スレッドはブロックされている間はCPU間を移動しません。
ユーザランドスケジューラはユーザモードで実行しているスレッドを移動できます。
スレッドは非割り込みスレッドへプリエンプティブにスイッチすることは
ありません(この間FreeBSD初心者スレで出た話題のやつね)。割り込みスレッドが
カレントスレッドをプリエンプトする場合、割り込みスレッドが終了または
ブロックした時点でプリエンプトされた方のスレッドはスケジュール状態によらず
復元されます。たとえば、あるスレッドはlwkt_deschedule_self()を呼んだあと、
実際に(別のスレッドへ)スイッチする前にプリエンプトされる可能性があります。
これは問題ありません。なぜなら割り込みスレッドが完了またはブロックしたあと
そのスレッドに直接制御が戻るからです。
NGNG
3. 上の(2)により、スレッドはCPUごとのglobaldata構造体を通じて得た
情報をロックなしにキャッシュすることができます。また、その情報が
割り込みスレッドによって変更されないと分かっている場合は、
クリティカルセクションに入る必要がありません。これによって、
いろいろな種類のデータのCPUごとのキャッシュ(訳注: 「の」の連続だ)
を、事実上オーバヘッドなしに持つことができます。
4. あるCPUが他のCPUに属するスレッドをスケジュールしようとする場合は、
ターゲットCPUにIPIベースのメッセージを発行して、処理を実行します。
このメッセージはデフォルトで非同期で、このためIPIはレイテンシを
伴うことがありますが必ずしもCPUサイクルを浪費するとは限りません。
このIPIの処理はクリティカルセクションに入ったスレッドによってブロック
されます。実際、LWKTスケジューラはそうします。クリティカルセクションの
出入りは安価な処理と考えられるので、ロックやバスロック命令を必要と
しません。
5. IPIメッセージサブシステムはFIFOあふれによるデッドロックに対し、
送信キューの停滞が解消するのを待つ間、受信キューをスピンして処理する
ことで対処します。IPIメッセージサブシステムはこのような状況下で
特にスレッドのスイッチを行いません。これによって、まれにスピンが
発生する場合があってもソフトウェアはこれをノンブロッキングAPIのように
扱うことができます。
情報をロックなしにキャッシュすることができます。また、その情報が
割り込みスレッドによって変更されないと分かっている場合は、
クリティカルセクションに入る必要がありません。これによって、
いろいろな種類のデータのCPUごとのキャッシュ(訳注: 「の」の連続だ)
を、事実上オーバヘッドなしに持つことができます。
4. あるCPUが他のCPUに属するスレッドをスケジュールしようとする場合は、
ターゲットCPUにIPIベースのメッセージを発行して、処理を実行します。
このメッセージはデフォルトで非同期で、このためIPIはレイテンシを
伴うことがありますが必ずしもCPUサイクルを浪費するとは限りません。
このIPIの処理はクリティカルセクションに入ったスレッドによってブロック
されます。実際、LWKTスケジューラはそうします。クリティカルセクションの
出入りは安価な処理と考えられるので、ロックやバスロック命令を必要と
しません。
5. IPIメッセージサブシステムはFIFOあふれによるデッドロックに対し、
送信キューの停滞が解消するのを待つ間、受信キューをスピンして処理する
ことで対処します。IPIメッセージサブシステムはこのような状況下で
特にスレッドのスイッチを行いません。これによって、まれにスピンが
発生する場合があってもソフトウェアはこれをノンブロッキングAPIのように
扱うことができます。
レスを投稿する
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- ケンタッキーの○○○バーガーという予告がアレを想起すると話題に [523957489]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 【乞食速報】UFJが5万円配ってる。これもう早苗給付金だろwwwwwwww [201193242]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
