summaryrefslogtreecommitdiffstats
path: root/include/trace/events
diff options
context:
space:
mode:
authorDmitry Monakhov <dmonakhov@openvz.org>2010-10-28 04:08:46 +0200
committerTheodore Ts'o <tytso@mit.edu>2010-10-28 04:08:46 +0200
commit3d287de3b828226e5a450c7fd5bf4283792dc2b0 (patch)
tree4adcc534e2042aed924750df3ef2433bd2f14fd8 /include/trace/events
parentext4: fix unbalanced mutex unlock in error path of ext4_li_request_new (diff)
downloadlinux-3d287de3b828226e5a450c7fd5bf4283792dc2b0.tar.xz
linux-3d287de3b828226e5a450c7fd5bf4283792dc2b0.zip
ext4: optimize orphan_list handling for ext4_setattr
Surprisingly chown() on ext4 is not SMP scalable operation. Due to unconditional orphan_del(NULL, inode) in ext4_setattr() result in significant performance overhead because of global orphan mutex, especially in no-journal mode (where orphan_add() is noop). It is possible to skip explicit orphan_del if possible. Results of fchown() micro-benchmark in no-journal mode while (1) { iteration++; fchown(fd, uid, gid); fchown(fd, uid + 1, gid + 1) } measured: iterations per millisecond | nr_tasks | w/o patch | with patch | | 1 | 142 | 185 | | 4 | 109 | 642 | Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'include/trace/events')
0 files changed, 0 insertions, 0 deletions