On Thu, 10 Oct 2013, Kirill A. Shutemov wrote: > +static inline bool ptlock_alloc(struct page *page) > +{ > + if (sizeof(spinlock_t) > sizeof(page->ptl)) > + return __ptlock_alloc(page); > + return true; > +} Could you make the check a CONFIG option? CONFIG_PTLOCK_DOES_NOT_FIT_IN_PAGE_STRUCT or so? > --- a/include/linux/mm_types.h > +++ b/include/linux/mm_types.h > @@ -147,7 +147,10 @@ struct page { > * system if PG_buddy is set. > */ > #if USE_SPLIT_PTE_PTLOCKS > - spinlock_t ptl; > + unsigned long ptl; /* It's spinlock_t if it fits to long, > + * otherwise it's pointer to dynamicaly > + * allocated spinlock_t. > + */ If you had such a CONFIG option then you could use the proper type here. #ifdef CONFIG_PTLOCK_NOT_FITTING spinlock_t *ptl; #else spinlock_t ptl; #endif Or some such thing? -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html