Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-09-24 Thread Kirill A. Shutemov
On Thu, Sep 24, 2015 at 11:08:29AM -0500, Christoph Lameter wrote: > On Thu, 24 Sep 2015, Kirill A. Shutemov wrote: > > > SLUB uses PG_locked as a bit spin locked. IIUC, tail pages should never > > appear there. VM_BUG_ON() is added to make sure that this assumption is > > correct. > >

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-09-24 Thread Christoph Lameter
On Thu, 24 Sep 2015, Kirill A. Shutemov wrote: > SLUB uses PG_locked as a bit spin locked. IIUC, tail pages should never > appear there. VM_BUG_ON() is added to make sure that this assumption is > correct. Correct. However, VM_BUG_ON is superfluous. If there is a tail page there then the

[PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-09-24 Thread Kirill A. Shutemov
lock_page() must operate on the whole compound page. It doesn't make much sense to lock part of compound page. Change code to use head page's PG_locked, if tail page is passed. This patch also gets rid of custom helper functions -- __set_page_locked() and __clear_page_locked(). They are

[PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-09-24 Thread Kirill A. Shutemov
lock_page() must operate on the whole compound page. It doesn't make much sense to lock part of compound page. Change code to use head page's PG_locked, if tail page is passed. This patch also gets rid of custom helper functions -- __set_page_locked() and __clear_page_locked(). They are

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-09-24 Thread Christoph Lameter
On Thu, 24 Sep 2015, Kirill A. Shutemov wrote: > SLUB uses PG_locked as a bit spin locked. IIUC, tail pages should never > appear there. VM_BUG_ON() is added to make sure that this assumption is > correct. Correct. However, VM_BUG_ON is superfluous. If there is a tail page there then the

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-09-24 Thread Kirill A. Shutemov
On Thu, Sep 24, 2015 at 11:08:29AM -0500, Christoph Lameter wrote: > On Thu, 24 Sep 2015, Kirill A. Shutemov wrote: > > > SLUB uses PG_locked as a bit spin locked. IIUC, tail pages should never > > appear there. VM_BUG_ON() is added to make sure that this assumption is > > correct. > >

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-07-15 Thread Christoph Lameter
On Thu, 19 Mar 2015, Kirill A. Shutemov wrote: > SLUB uses PG_locked as a bit spin locked. IIUC, tail pages should never > appear there. VM_BUG_ON() is added to make sure that this assumption is > correct. Its really not worth checking that AFAICT. Tail page pointers are not used. -- To

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-07-15 Thread Christoph Lameter
On Thu, 19 Mar 2015, Kirill A. Shutemov wrote: SLUB uses PG_locked as a bit spin locked. IIUC, tail pages should never appear there. VM_BUG_ON() is added to make sure that this assumption is correct. Its really not worth checking that AFAICT. Tail page pointers are not used. -- To unsubscribe

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-27 Thread Kirill A. Shutemov
On Fri, Mar 27, 2015 at 04:13:08PM +0100, Mateusz Krawczuk wrote: > Hi! > > This patch breaks build of linux next since 2015-03-25 on arm using > exynos_defconfig with arm-linux-gnueabi-linaro_4.7.4-2014.04, > arm-linux-gnueabi-linaro_4.8.3-2014.04 and > arm-linux-gnueabi-4.7.3-12ubuntu1(from

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-27 Thread Mateusz Krawczuk
Hi! This patch breaks build of linux next since 2015-03-25 on arm using exynos_defconfig with arm-linux-gnueabi-linaro_4.7.4-2014.04, arm-linux-gnueabi-linaro_4.8.3-2014.04 and arm-linux-gnueabi-4.7.3-12ubuntu1(from ubuntu 14.04 lts). Compiler shows this error message: mm/migrate.c: In

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-27 Thread Mateusz Krawczuk
Hi! This patch breaks build of linux next since 2015-03-25 on arm using exynos_defconfig with arm-linux-gnueabi-linaro_4.7.4-2014.04, arm-linux-gnueabi-linaro_4.8.3-2014.04 and arm-linux-gnueabi-4.7.3-12ubuntu1(from ubuntu 14.04 lts). Compiler shows this error message: mm/migrate.c: In

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-27 Thread Mateusz Krawczuk
Hi! This patch breaks build of linux next since 2015-03-25 on arm using exynos_defconfig with arm-linux-gnueabi-linaro_4.7.4-2014.04, arm-linux-gnueabi-linaro_4.8.3-2014.04 and arm-linux-gnueabi-4.7.3-12ubuntu1(from ubuntu 14.04 lts). Compiler shows this error message: mm/migrate.c: In

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-27 Thread Mateusz Krawczuk
Hi! This patch breaks build of linux next since 2015-03-25 on arm using exynos_defconfig with arm-linux-gnueabi-linaro_4.7.4-2014.04, arm-linux-gnueabi-linaro_4.8.3-2014.04 and arm-linux-gnueabi-4.7.3-12ubuntu1(from ubuntu 14.04 lts). Compiler shows this error message: mm/migrate.c: In

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-27 Thread Kirill A. Shutemov
On Fri, Mar 27, 2015 at 04:13:08PM +0100, Mateusz Krawczuk wrote: Hi! This patch breaks build of linux next since 2015-03-25 on arm using exynos_defconfig with arm-linux-gnueabi-linaro_4.7.4-2014.04, arm-linux-gnueabi-linaro_4.8.3-2014.04 and arm-linux-gnueabi-4.7.3-12ubuntu1(from ubuntu

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-20 Thread Kirill A. Shutemov
On Fri, Mar 20, 2015 at 03:32:05PM +0800, Hillf Danton wrote: > > --- a/include/linux/page-flags.h > > +++ b/include/linux/page-flags.h > > @@ -269,7 +269,7 @@ static inline struct page *compound_head_fast(struct > > page *page) > > return page; > > } > > > > -TESTPAGEFLAG(Locked, locked,

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-20 Thread Hillf Danton
> --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -269,7 +269,7 @@ static inline struct page *compound_head_fast(struct page > *page) > return page; > } > > -TESTPAGEFLAG(Locked, locked, ANY) > +__PAGEFLAG(Locked, locked, NO_TAIL) > PAGEFLAG(Error, error, ANY)

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-20 Thread Kirill A. Shutemov
On Fri, Mar 20, 2015 at 03:32:05PM +0800, Hillf Danton wrote: --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -269,7 +269,7 @@ static inline struct page *compound_head_fast(struct page *page) return page; } -TESTPAGEFLAG(Locked, locked, ANY)

Re: [PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-20 Thread Hillf Danton
--- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -269,7 +269,7 @@ static inline struct page *compound_head_fast(struct page *page) return page; } -TESTPAGEFLAG(Locked, locked, ANY) +__PAGEFLAG(Locked, locked, NO_TAIL) PAGEFLAG(Error, error, ANY)

[PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-19 Thread Kirill A. Shutemov
lock_page() must operate on the whole compound page. It doesn't make much sense to lock part of compound page. Change code to use head page's PG_locked, if tail page is passed. This patch also get rid of custom helprer functions -- __set_page_locked() and __clear_page_locked(). They replaced with

[PATCH 04/16] page-flags: define PG_locked behavior on compound pages

2015-03-19 Thread Kirill A. Shutemov
lock_page() must operate on the whole compound page. It doesn't make much sense to lock part of compound page. Change code to use head page's PG_locked, if tail page is passed. This patch also get rid of custom helprer functions -- __set_page_locked() and __clear_page_locked(). They replaced with