diff options
| author | Dmitry Monakhov <[email protected]> | 2010-10-28 02:08:46 +0000 |
|---|---|---|
| committer | Theodore Ts'o <[email protected]> | 2010-10-28 02:08:46 +0000 |
| commit | 3d287de3b828226e5a450c7fd5bf4283792dc2b0 (patch) | |
| tree | 4adcc534e2042aed924750df3ef2433bd2f14fd8 /tools/perf/util/scripting-engines/trace-event-python.c | |
| parent | ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new (diff) | |
| download | kernel-3d287de3b828226e5a450c7fd5bf4283792dc2b0.tar.gz kernel-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 <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
0 files changed, 0 insertions, 0 deletions
