summaryrefslogtreecommitdiffstats
path: root/sound/ppc
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2008-02-04 22:28:52 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 09:44:15 -0800
commitcb5f7b9a47963d9238398cd0c2676473e3c6896d (patch)
treebc2eed3d7c2c3787f50030c7c493c4295eaf673c /sound/ppc
parenta0ee5ec520ede1dc8e2194623bcebfd9fab408f2 (diff)
downloadop-kernel-dev-cb5f7b9a47963d9238398cd0c2676473e3c6896d.zip
op-kernel-dev-cb5f7b9a47963d9238398cd0c2676473e3c6896d.tar.gz
tmpfs: make shmem_unuse more preemptible
shmem_unuse is at present an unbroken search through every swap vector page of every tmpfs file which might be swapped, all under shmem_swaplist_lock. This dates from long ago, when the caller held mmlist_lock over it all too: long gone, but there's never been much pressure for preemptible swapoff. Make it a little more preemptible, replacing shmem_swaplist_lock by shmem_swaplist_mutex, inserting a cond_resched in the main loop, and a cond_resched_lock (on info->lock) at one convenient point in the shmem_unuse_inode loop, where it has no outstanding kmap_atomic. If we're serious about preemptible swapoff, there's much further to go e.g. I'm stupid to let the kmap_atomics of the decreasingly significant HIGHMEM case dictate preemptiblility for other configs. But as in the earlier patch to make swapoff scan ptes preemptibly, my hidden agenda is really towards making memcgroups work, hardly about preemptibility at all. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'sound/ppc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud