s390/mm: optimize locking without huge pages in gmap_pmd_op_walk()
authorDavid Hildenbrand <david@redhat.com>
Mon, 6 Aug 2018 15:54:07 +0000 (17:54 +0200)
committerJanosch Frank <frankja@linux.ibm.com>
Mon, 1 Oct 2018 06:52:24 +0000 (08:52 +0200)
commitaf4bf6c3d9b45b62da86d928d3fd2d4ddc8549e6
tree80ed16c57af5bb4ae68a1f12c6977143114ed186
parent67d49d52ae502eaea8858fbcb97e3c2891f78da9
s390/mm: optimize locking without huge pages in gmap_pmd_op_walk()

Right now we temporarily take the page table lock in
gmap_pmd_op_walk() even though we know we won't need it (if we can
never have 1mb pages mapped into the gmap).

Let's make this a special case, so gmap_protect_range() and
gmap_sync_dirty_log_pmd() will not take the lock when huge pages are
not allowed.

gmap_protect_range() is called quite frequently for managing shadow
page tables in vSIE environments.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Message-Id: <20180806155407.15252-1-david@redhat.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
arch/s390/mm/gmap.c