On Mon, Dec 04, 2017 at 02:16:19PM +0900, Byungchul Park wrote: > For now, wait_for_completion() / complete() works with lockdep, add > lock_page() / unlock_page() and its family to lockdep support. > > Changes from v1 > - Move lockdep_map_cross outside of page_ext to make it flexible > - Prevent allocating lockdep_map per page by default > - Add a boot parameter allowing the allocation for debugging > > Byungchul Park (4): > lockdep: Apply crossrelease to PG_locked locks > lockdep: Apply lock_acquire(release) on __Set(__Clear)PageLocked > lockdep: Move data of CONFIG_LOCKDEP_PAGELOCK from page to page_ext > lockdep: Add a boot parameter enabling to track page locks using > lockdep and disable it by default I don't like the way you've structured this patch series; first adding the lockdep map to struct page, then moving it to page_ext. I also don't like it that you've made CONFIG_LOCKDEP_PAGELOCK not individually selectable. I might well want a kernel with crosslock support, but only for completions.