On Wed, Apr 03, 2019 at 11:34:04AM -0600, Khalid Aziz wrote:
> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
> index 2c471a2c43fa..d17d33f36a01 100644
> --- a/include/linux/mm_types.h
> +++ b/include/linux/mm_types.h
> @@ -204,6 +204,14 @@ struct page {
> #ifdef LAST_CPUPID_NOT_IN_PAGE_FLAGS
> int _last_cpupid;
> #endif
> +
> +#ifdef CONFIG_XPFO
> + /* Counts the number of times this page has been kmapped. */
> + atomic_t xpfo_mapcount;
> +
> + /* Serialize kmap/kunmap of this page */
> + spinlock_t xpfo_lock;
NAK, see ALLOC_SPLIT_PTLOCKS
spinlock_t can be _huge_ (CONFIG_PROVE_LOCKING=y), also are you _really_
sure you want spinlock_t and not raw_spinlock_t ? For
CONFIG_PREEMPT_FULL spinlock_t turns into a rtmutex.
> +#endif
Growing the page-frame by 8 bytes (in the good case) is really sad,
that's a _lot_ of memory.
> } _struct_page_alignment;
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu