December 2007

を昨日つくってmarceloに送った。
なんで、linux-mmに直接投げなかったかというと、marceloの提案(下に引用する)通りに

So something like the following sounds better:

- have your poll_wait_exclusive() patch in place
- pass a "status" parameter to mem_notify_userspace() and have it clear
mem_notify_status in case status is zero, so to stop sending POLLIN to processes.
- call mem_notify_userspace(0) from mm/vmscan.c when ZONE_NORMAL reclaim_mapped
is false (that seems a good indication that VM is out of trouble).
- test for mem_notify_status in mem_notify_poll(), but do not clear it.
- at mem_notify_userspace(), use wake_up_nr(number of mem_notify users/10) (10
meaning a small percentage of registered users).



実装すると、memory pressure状態を抜けたときに脱出通知がされず(そもそもshrink_active_listが呼ばれないので、んな所で判定するのが間違ってる)
一度でもmemory pressure状態になると二度とturn offされないからである。

どうでもいいが、パッチセットの説明にカーネルコアへの影響を最小限にした云々と書いた割りに、すでに

[1/5] おれ専用APIをselect.cに追加
[2/5] eventpollをおれの都合で書き換え
[3/5] wait.hにオレ専用APIを追加
[4/5] メモリ通知デバイスの追加 ←本当のパッチ
[5/5] vmscan.cをおれの都合で書き換え

という、どこが最小限やねんwwというパッチセットになっているのは秘密だだだ

ドキュメントの場所が分からず、長らく使いにくさ満点で使ってきたのだが
ようやく分かった。

~/.quiltrcに以下の内容を書いて、おいら的には幸せ度がだいぶあがりました。

QUILT_DIFF_ARGS="-p ab --color=never"
QUILT_DIFF_OPTS="-up"
QUILT_REFRESH=ARGS="--difstat -p ab"


↑このページのトップヘ