Tetsuo Handa
from-****@I-lov*****
2010年 7月 7日 (水) 16:00:39 JST
熊猫です。 Seiji Munetoh wrote: > ファイルのパスを取得する際に d_path() を使うと思いますが、 > vfsmount_lockによる性能への影響ってどのくらいあるものなのでしょうか? d_path() を呼ぶときには dcache_lock と vfsmount_lock の両方のスピンロックを 取得することになります。昔はハードウェアキャッシュの影響というのを知らず、 実際にロックの競合が発生したときに待たされる時間をいかに小さくするかだけが 問題なのだと思っていたので、2CPUとか4CPU程度では dcache_lock / vfsmount_lock ロックの競合が発生することなんて滅多に起こらないだろうと熊猫は 考えていました。でも、ロックの競合が発生しなくても、ロックを取得/解放する時に 必要になるメモリバリア命令によりメモリに対する読み書き処理が待たされる ことによる影響をいかに小さくするかという問題もあるようですね。 VFS scalability というパッチの提案( http://lwn.net/Articles/360199/ )が 続いているので、そのうち vfsmount_lock が不要になる日が来るのかも。 http://sourceforge.jp/projects/tomoyo/lists/archive/dev/2009-October/001251.html http://lkml.org/lkml/2010/6/23/379