[lkml]   [2012]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2/2] mm: Fix slab->page _count corruption.
On Mon, 14 May 2012, Pravin B Shelar wrote:

> On arches that do not support this_cpu_cmpxchg_double slab_lock is used
> to do atomic cmpxchg() on double word which contains page->_count.
> page count can be changed from get_page() or put_page() without taking
> slab_lock. That corrupts page counter.
> Following patch fixes it by moving page->_count out of cmpxchg_double
> data. So that slub does no change it while updating slub meta-data in
> struct page.

Ugly. Maybe its best to not touch the count in the page lock case in slub?

You could accomplish that by changing the definition of counters in
mm_types.h. Make it unsigned instead of unsigned long so that it only
covers the first part of the struct (which excludes the refcounter)

 \ /
  Last update: 2012-05-14 21:41    [W:0.032 / U:4.272 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site