タグ

ブックマーク / mkosaki.blog46.fc2.com (14)

  • Cgroup Freezer

    LC2008のCGroup BoFでちょっと触れたが-mmにはすでにcgroup freezerがマージされている。 mmotmでMatt Helsley でgrepすると以下の結果が得られる。 --------------------------------------------------------------- Patches currently in -mm which might be from matthltc@us.ibm.com are container-freezer-add-tif_freeze-flag-to-all-architectures.patch container-freezer-make-refrigerator-always-available.patch container-freezer-implement-freezer-cgroup-su

    Cgroup Freezer
  • 革命の日々! O_TMPFILE

    Linux 3.11で O_TMPFILEがマージされた。O_TMPFILEとはなにか。このオプションは2つの効果をもたらす。 1つめ。 linkat(2)にはセキュリティ的に問題があり、一時ファイルが作られてからunlinkされるまでの隙間に、/proc/fd/ に対して linkat(AT_SYMLINK_FOLLOW) することで、一時ファイルのパス名が分からなくてもリンクを貼ることが出来た。 これに関して、もし、linkat(AT_SYMLINK_FOLLOW)のoldpath引数のファイルが、O_TMPFILE | O_CREAT | O_EXCL の組み合わせでオープンされていたら、ENOENTで失敗するハックの追加 2つめ。 VFS層にインターフェースが追加され、各ファイルシステムにtmpfile専用のメソッドが呼ばれるようになった。O_TMPFILEがついた場合は、ファイル

  • 革命の日々! glibcのpthreadにdeadlockバグが有るらしい

    http://sourceware-org.1504.n7.nabble.com/RFC-Deadlock-in-multithreaded-application-when-doing-IO-and-fork-td220862.html The following deadlock scenario looks like a bug in glibc. Thread A: * Calls fork() which runs pthread_atfork handlers. * Malloc's registered handler runs and locks out all other threads from doing allocations by causing them to block. * Tries to take the IO list lock via _IO_lis

    defiant
    defiant 2013/02/04
  • 革命の日々! topのswap表示いつのまにか直ってた

    3年ほどまえにtopコマンドのswapフィールドが壊れているという記事を書いたんだけど http://mkosaki.blog46.fc2.com/blog-entry-1115.html そのときはprocpsパッケージがメンテナ不在状態で、投稿パッチが放置されてしまってた。で、最近見なおしたらprocps自体がprocps-ngという亜流にforkして、メンテナが代わり、 まったく同じパッチが違う人の手によって procps-ng 3.3.3 でマージされてた。変数名まで同じだけどクレジットはなし。むむん ちょっと追ってみたんだけど、procps-ngのNEWSだと Debian #628462 を参照していて procps-ng-3.3.3 --------------- * watch -g command repeats until something changes * Cha

  • 革命の日々! gnu_get_libc_version

    glibcのバージョンってプログラムから簡単に得る方法ないと思ってたけどあったわ。 #include <stdio.h> #include <gnu/libc-version.h> int main (void) { puts (gnu_get_libc_version ()); puts (gnu_get_libc_release ()); return 0; } % ./a.out 2.12 stable これでバージョン依存のworkaroundいれるのが捗るな

  • 革命の日々! ホストからゲストにOOM Killer送る方法

    sudo virsh send-key [domain] KEY_LEFTALT KEY_SYSRQ KEY_F で、プロセスぶち殺せるみたいだ。KEY_FをKEY_Cに返るとダンプがとれたりとか

    defiant
    defiant 2012/04/26
  • 革命の日々! muninのプラグインを書いてみた

    最近、kosakiという人が「オレはLKMLでもっとも頻繁にOOMバグの解析を行っているデベロッパの一人である。オレが言うんだから間違いない。現在のOOMの表示と/proc/meminfoはフィールドが足りない」と真偽が定かではない主張をして、フィールドを大量に増やすパッチを、ねじ込んだ。 ちなみに、現在の /proc/meminfoはこんな感じ $ cat /proc/meminfo MemTotal: 6037184 kB MemFree: 1229820 kB Buffers: 252336 kB Cached: 3673464 kB SwapCached: 0 kB Active: 1463432 kB Inactive: 2772100 kB Active(anon): 315332 kB Inactive(anon): 16 kB Active(file): 1148100 k

  • 革命の日々! gcc 4.7 だとカーネルがまともに動かないんじゃないの?という話

    Jan Karaがなかなか素敵なバグを報告している。 bitfieldいじるときに、64bit load/store使えうように、となりのbitfieldも合わせて read-modify-write するから全然関係ないフィールド更新時に別のフィールドがlostするって・・・ でいつものようにGCC界隈から「Cの規格書にはやっちゃダメとは書いてない」という声が飛んできて カーネル界隈から「そんなんソフトが書けるか。あほー」という怒号が飛び交う展開に だって、普通たまたま隣り合ってるだけの全然関係ないフィールドってロックも別だよねえ(-_-;) From: Jan Kara jack@suse.cz vger.kernel.org To: LKML Cc: linux-ia64@vger.kernel.org, Linus Torvalds , dsterba@suse.cz, ptesa

  • 革命の日々! RHEL6 S390用チューニングパラメタ推奨値解説

    RHEL6のドキュメントページ(※)みてたのだけど ※ http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/ Technical Notes: http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/Technical_Notes/index.html に面白いチューニングパラメタの記述をみつけたので解説してみる。S390向けのチューニング推奨値の部分だ ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー System z Performance Some of the default tunables in Red Hat Enterprise Linux 6 are curr

  • 革命の日々! KVM guestのシリアル出力をhostから見る方法

    諸般の事情でゲストがfedoraの場合とUbuntuの場合の両方を調べたので備忘録代わりに書く まず、fedora12 /boot/grub/grub.conf default=0 timeout=10 #splashimage=(hd0,0)/boot/grub/splash.xpm.gz serial --unit=0 --speed=115200 terminal --timeout=10 serial console #hiddenmenu default saved title Fedora (2.6.32.16-141.fc12.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32.16-141.fc12.x86_64 ro root=UUID=c70ceb36-eeea-48ee-9cd9-71d5a983ab40 LANG=ja_

    defiant
    defiant 2010/07/26
  • 「cgroup」の検索結果 - 無料ブログ(blog)を簡単作成!

    もう3回ぐらい忘れてコード読み直しているのでメモhttp://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/mbind.2.htmlmode引き数には、追加でモードフラグを含めることもできる。サポートされているモードフラグは以下の通りである。MPOL_ mkosaki.blog46.fc2.com//blog-entry-1206.html 従来のLinuxはread(2)やwrite(2)によるメモリアクセスは二回タッチでactiveリストへ移動だったのに、mmapによるタッチは(pteのaccessbitが1bitしかない関係で)1回タッチでactiveリストになっていた。そのため、現代的なマシンではmmapを使ってコピーすると逆に mkosaki.blog46.fc2.com//blog-entry-1101.html

  • 革命の日々! A new GCC runtime library license snag?

    http://lwn.net/Articles/343608/rss 新しいgccで、GPLv2のプログラムをコンパイルすると再配布不可能になるよ。という話。よく知られているように、gccはコンパイル時に(勝手に)libgccをリンクする。これは除算のサポート等が含まれている。うろ覚えだけどC++の例外の補助コード等もここ。 んで、勝手にリンクされる都合上、あんまりきつい制約に出来ないのでGPLなんだけど、特別免除としてプロプラなライセンスとリンクしてもOKということにしてあげるよ。ということになっている。 で、このGCC runtimeのライセンスが、gcc 4.4からGPLv3になった。で、プロプラなライセンスは従来の特赦条項で救われるのでOKだけど、GPLv2は再配布時にライセンス変更しちゃダメ条項があり、かつ、GPLv2とGPLv3はincompatibleなので、自動的にライセン

  • 革命の日々! Linuxでのovercommit_memory制御の勘所

    プロフィール Author: kosaki 連絡先はコチラ ブログ検索 最近の記事 memory cgroupはFedora11からenable? (10/15) 赤ちゃんまみれの癒し動画 (10/14) [グローランサ] ヤーナファルのカブトはケンオウ・カブトだと主張してみる (10/14) reclaim処理からwritepage処理を削除する活動が開始 (10/12) mem_notifyのダウンロードできる場所おしえて。だと (10/10) 2.6.27 (10/10) LWNで発表された2.6.27での貢献度リスト (10/09) 遅くなりましたが (10/09) google-glog (10/09) pipeのselectって今どうなってるんだっけ? (10/09) 最近のコメント MonMon:firefoxの自動アップデートが失敗した (10/12)

  • 革命の日々! linuxのmlockが凶悪な件について

    諸卿もご存知の通り、Linuxのメモリアロケーションはmalloc(), mmap()した段階ではメモリ割付をせず、最初にメモリにアクセスしたときに行うという俗に「first touch」と呼ばれるアロケーションポリシーを採用している。 さて、んでは、このmmap()したけどまだ実際にはメモリ割付されているないアドレスにたいしてmlock()したらどうなるか。 というと、この時点でメモリ割付が走る。 走るのはいいんだが、これがまたベラボーに遅い。 別にLinuxカーネルのアルゴリズムが悪いわけではなくて、メモリ割付をする=そのページを0クリアするという事なので、DRAMのアクセス速度が超えられない壁となって立ちはだかるわけだ。 じゃあ、どのくらい時間がかかるか計算してみよう。 まず、DRAMをDDR2 PC5300と仮定しよう。イマドキ、こんなもんよね。 これでアクセス速度理論値 5300

  • 1