lkml.org 
[lkml]   [2012]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    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.058 / U:60.260 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site