ブログのネタ度をあげるか、下げるか、その岐路に来ている気がする
June 2008
kernel watch 6月号
なんか公開されたらしい。
謎のメモ書きの羅列だった初稿をここまで日本語に直した編集者には敬意を表したい。
http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch06a.html
謎のメモ書きの羅列だった初稿をここまで日本語に直した編集者には敬意を表したい。
http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch06a.html
Alan Coxのシグネチャ
意味深だなー
--
"Alan, I'm getting a bit worried about you."
-- Linus Torvalds
memcgのLRUリストはPageLRUがOFFのときもリストにつながってる
ほほー
ま、今追っているバグとは全然リンクしないんだが。
ま、今追っているバグとは全然リンクしないんだが。
unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
struct list_head *dst,
unsigned long *scanned, int order,
int mode, struct zone *z,
struct mem_cgroup *mem_cont,
int active, int file)
{
unsigned long nr_taken = 0;
struct page *page;
unsigned long scan;
LIST_HEAD(pc_list);
struct list_head *src;
struct page_cgroup *pc, *tmp;
int nid = z->zone_pgdat->node_id;
int zid = zone_idx(z);
struct mem_cgroup_per_zone *mz;
int lru = LRU_FILE * !!file + !!active;
BUG_ON(!mem_cont);
mz = mem_cgroup_zoneinfo(mem_cont, nid, zid);
src = &mz->lists[lru];
spin_lock(&mz->lru_lock);
scan = 0;
list_for_each_entry_safe_reverse(pc, tmp, src, lru) {
if (scan >= nr_to_scan)
break;
page = pc->page;
// ★ PageLRUがOFFの時は別の人にisolateされているので抜ける
if (unlikely(!PageLRU(page)))
continue;
/*
* TODO: play better with lumpy reclaim, grabbing anything.
*/
if (PageUnevictable(page) ||
(PageActive(page) && !active) ||
(!PageActive(page) && active)) {
__mem_cgroup_move_lists(pc, page_lru(page));
continue;
}
scan++;
list_move(&pc->lru, &pc_list);
if (__isolate_lru_page(page, mode, file) == 0) {
list_move(&page->lru, dst);
nr_taken++;
}
}
list_splice(&pc_list, src); //★isolateしたかどうかに関わらずリストに戻す
spin_unlock(&mz->lru_lock);
*scanned = scan;
return nr_taken;
}
貴様の問題などどうでもいい
Matz を説得する方法のスライドがすばらしい件
http://d.hatena.ne.jp/tokuhirom/20080629/1214717545
からリンクされている、akrさんの資料がすばらしい。
なんで直接リンクせずにこっちに貼るかというと、文中の
「貴様の問題などどうでもいい」
がいい味だしてるから
http://d.hatena.ne.jp/tokuhirom/20080629/1214717545
からリンクされている、akrさんの資料がすばらしい。
なんで直接リンクせずにこっちに貼るかというと、文中の
「貴様の問題などどうでもいい」
がいい味だしてるから
バグがとれねー
ここ1週間ぐらいずっと悩んでいる気がする。
わかっていること
・Activeなリストにつながっているのに、!PageActive() なことがある
・LRUにつながってるのに、!PageLRU() なことがある
・putback_lru_page() rework をはずすとおきない
・putback_lru_page() rework に後から入れた追加修正をはずしても起きる。
よって、根本的になにか見落としてる可能性が高い
・memcgのreclaimは無罪(CONFIG=Nでも再現するから)
わかっていること
・Activeなリストにつながっているのに、!PageActive() なことがある
・LRUにつながってるのに、!PageLRU() なことがある
・putback_lru_page() rework をはずすとおきない
・putback_lru_page() rework に後から入れた追加修正をはずしても起きる。
よって、根本的になにか見落としてる可能性が高い
・memcgのreclaimは無罪(CONFIG=Nでも再現するから)
がくがく
Hugh Dickins 大先生のパッチに初めていちゃもんをつける。
ああ、ものすごく緊張する
ああ、ものすごく緊張する
オワタ\(^o^)/
http://www.linuxsymposium.org/2008/
なんか、来月にオタワに行くらしいです。どうでもいい。
あ、でも、日本人で行く人がいれば教えてください。海外とか一人で行動するのめどい
あと、オタワとオワタ\(^o^)/が似すぎていて困る。IME的な意味で
なんか、来月にオタワに行くらしいです。どうでもいい。
あ、でも、日本人で行く人がいれば教えてください。海外とか一人で行動するのめどい
あと、オタワとオワタ\(^o^)/が似すぎていて困る。IME的な意味で
校正中
プロの編集者ってホンマえらいわー
今日のmatzにっき
http://www.rubyist.net/~matz/20080620.html
なぜか名言まみれ。
といいつつ
とか。
「これはすごい」x10ぐらいタグをつけたい。
こう、まるでプログラミングしていて、人の作ったルーチンがものすごく汎用的に使えることに
気づいてしまった時のよろこびというか。
なぜか名言まみれ。
更新します。更新するまでがRubyKaigiです
といいつつ
RubyKaigi'08は(自分の中で)永遠に不滅です
とか。
「これはすごい」x10ぐらいタグをつけたい。
こう、まるでプログラミングしていて、人の作ったルーチンがものすごく汎用的に使えることに
気づいてしまった時のよろこびというか。