[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.026 / U:5.656 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site