タグ

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

  • 革命の日々! lock elision はいったね

    ちょっと古い話題だけど、glibc 2.18に lock elision入ることが確定しましたね。lock elisionとはHaswellから搭載されるHTM(Hardware Transaction Memory) をつかって、pthread_mutex_* の並列度を劇的にあげようというパッチ。 ワーストケースでは逆に何十倍も遅くなるとか非互換ありでしかもPOSIX違反やんけなどと指摘されつつもIntelの強力なプッシュによりデフォルトでONになった。 ロック性能とか気になる人はチェックしとくといいよ。

  • 革命の日々! ディレクトリ操作を asyncに行うのはもはやPOSIX non-comformance

    Linuxでは伝統的にディレクトリ操作(ファイルのrenameとか)を asyncに行なってきた。これはBSDなどよりも性能がいい理由の一つだったんだけど、クラッシュした時にとんでもない壊れ方をするのでまあ色々と評判が悪かった。 さて、じゃあこのようなシステムで安全なアプリケーションを書くためにはどうすればいいかという話になるが、頭の良い人がディレクトリに対してfdatasyncすればいいじゃん。と言い出して、みんなそれがPOSIX filesystem のルールだと思ってたんだな。 で、今回、aio_fsync()がなぜか write permissionを要求してるので、ディレクトリにaio_fsync()できねーじゃねーか。という規格の不整合を上訴したひとがいて、議論の結果「ディレクトリに操作に対してfdatasync()を要求するようなasyncなファイルシステムはPOSIX準拠じ

  • 1