summaryrefslogtreecommitdiff
path: root/mm/ksm.c
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2013-07-10 22:41:18 (GMT)
committerAlasdair G Kergon <agk@redhat.com>2013-07-10 22:41:18 (GMT)
commit83d5e5b0af907d46d241a86d9e44003b3f0accbd (patch)
tree46349d07c2090da15c250af3bac40833eb96e9f0 /mm/ksm.c
parent2480945cd44b50ba8b1646544eec2db21f064f12 (diff)
downloadlinux-83d5e5b0af907d46d241a86d9e44003b3f0accbd.tar.xz
dm: optimize use SRCU and RCU
This patch removes "io_lock" and "map_lock" in struct mapped_device and "holders" in struct dm_table and replaces these mechanisms with sleepable-rcu. Previously, the code would call "dm_get_live_table" and "dm_table_put" to get and release table. Now, the code is changed to call "dm_get_live_table" and "dm_put_live_table". dm_get_live_table locks sleepable-rcu and dm_put_live_table unlocks it. dm_get_live_table_fast/dm_put_live_table_fast can be used instead of dm_get_live_table/dm_put_live_table. These *_fast functions use non-sleepable RCU, so the caller must not block between them. If the code changes active or inactive dm table, it must call dm_sync_table before destroying the old table. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'mm/ksm.c')
0 files changed, 0 insertions, 0 deletions