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.
>
>
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
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
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
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
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.
>
>
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
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
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
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
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
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
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
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
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,
> --- 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)
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)
--- 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)
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
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
20 matches
Mail list logo