プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

sysfs の poll の件 このエントリーをはてなブックマークに追加

気が変わって、LKMLでバトルしてみることにした。Ruby嫌いじゃないし

以下の修正パッチで直ることは確認した


--
fs/sysfs/file.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
index 289c43a..4a302f8 100644
--- a/fs/sysfs/file.c
+++ b/fs/sysfs/file.c
@@ -446,11 +446,11 @@ static unsigned int sysfs_poll(struct file *filp, poll_table *wait)
if (buffer->event != atomic_read(&od->event))
goto trigger;

- return 0;
+ return DEFAULT_POLLMASK;

trigger:
buffer->needs_read_fill = 1;
- return POLLERR|POLLPRI;
+ return DEFAULT_POLLMASK|POLLERR|POLLPRI;
}

void sysfs_notify_dirent(struct sysfs_dirent *sd)
関連記事


linux | 【2009-04-08(Wed) 02:11:29】 | Trackback:(0) | Comments:(5)
コメント

POSIX 的には /sys 以下のファイルが "regular file" かどうかですかねぇ。

select は shall support regular files, terminal and pseudo-terminal devices なので。

もちろん、中身を見ると普通のファイルじゃないわけですが、stat すると S_ISREG ではないか、という主張は可能かもしれません。

ただ、Linux がどうあるべき、という話とは別に、Ruby は regular file に対して select しないほうがいいんじゃないかと思っています。

POSIX では、regular file で select すると即座に readable になるので、呼んで得られる情報はないはずなので。
2009-04-07 火 18:08:17 | URL | akr #- [ 編集]

どもです。

stat が S_ISREG 返すのは、いまさら新しいフラグを新設すると互換性壊すじゃん。というだけの理由だと理解していて、regular file とは思ってないんですよ。
ただ、LKMLのコミュニティの空気的にreal world issue は理屈より優先しろという文化なので通る可能性はあるかな。と

非互換修正なのでやってみないと分かりませんが。
2009-04-07 火 22:08:29 | URL | kosaki #- [ 編集]
ひろのぶです。

/sys以下というより、内容が動的に変わるか変わらないかがポイントで

/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

は、CPUのクロック変更可能なリストであり、これはCPU固有で/proc/versionと同じく一回動き始めると動的に変化しない内容です。CPUの活線挿抜とかありえないし。だから/proc/versionと同じでいいんじゃないの?という主張をしています。

それ以外の動的に変化する内容なら現状のままでOKです。

2009-04-07 火 23:08:10 | URL | ひろのぶ #- [ 編集]

えーとですね。sysfs全体で1つのpollロジックをつかっているので、そういう仕様変更はちょっと受け入れられないかと思ってるんですよ。

あと、滅多に変わらないため人間からは固定の内容だと思われてるが、実装は動的な内容ってのがあるので、直感に反する動きをする事になります。
2009-04-08 水 01:27:56 | URL | kosaki #- [ 編集]

Neil Brown (当該コードの作者)から、パッチディスクリプションにPOSIXのreferenceを入れてくれたらOKとか返事が来たので、入りそうな流れ。
/proc/mounts にも同じ問題があるからついでに直そうぜ。というありがたい申し出も
2009-04-08 水 19:28:54 | URL | kosaki #- [ 編集]
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。