Changeset 8885

Show
Ignore:
Timestamp:
06/13/11 12:53:38 (2 years ago)
Author:
bligon
Message:

Testing changes to slab cache.

Location:
branches/test-slab-cache-patch/src/kernel/linux-2.6
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/test-slab-cache-patch/src/kernel/linux-2.6/pvfs2-cache.c

    r7426 r8885  
    203203} 
    204204 
    205  
    206 static void dev_req_cache_ctor( 
    207 #if defined(HAVE_KMEM_CACHE_CREATE_CTOR_ONE_PARAM) 
    208     void *req 
    209 #elif defined(HAVE_KMEM_CACHE_CREATE_CTOR_TWO_PARAM) 
    210     struct kmem_cache *cachep, 
    211     void *req 
    212 #else 
    213     void *req, 
    214     pvfs2_kmem_cache_t * cachep, 
    215     unsigned long flags 
    216 #endif 
    217 ) 
    218 { 
    219     memset(req, 0, sizeof(MAX_ALIGNED_DEV_REQ_DOWNSIZE)); 
    220 } 
    221  
    222205int dev_req_cache_initialize(void) 
    223206{ 
    224207    dev_req_cache = kmem_cache_create( 
    225208        "pvfs2_devreqcache", MAX_ALIGNED_DEV_REQ_DOWNSIZE, 0, 
    226         PVFS2_CACHE_CREATE_FLAGS, dev_req_cache_ctor 
     209        PVFS2_CACHE_CREATE_FLAGS, NULL 
    227210#ifdef HAVE_KMEM_CACHE_CREATE_DESTRUCTOR_PARAM 
    228211        , NULL 
     
    256239    { 
    257240        gossip_err("Failed to allocate from dev_req_cache\n");  
     241    } 
     242    else 
     243    { 
     244        memset(buffer, 0, sizeof(MAX_ALIGNED_DEV_REQ_DOWNSIZE)); 
    258245    } 
    259246    return buffer; 
     
    288275    pvfs2_inode_t *pvfs2_inode = req; 
    289276 
    290     memset(pvfs2_inode, 0, sizeof(pvfs2_inode_t)); 
    291277    ClearInitFlag(pvfs2_inode); 
    292  
    293278    pvfs2_inode_initialize(pvfs2_inode); 
    294279 
     
    378363        gossip_err("Failed to allocate pvfs2_inode\n"); 
    379364    } 
    380     else { 
     365    else  
     366    { 
     367        ClearInitFlag(pvfs2_inode); 
     368        pvfs2_inode_initialize(pvfs2_inode); 
    381369        add_to_pinode_list(pvfs2_inode); 
    382370    } 
     
    399387#ifdef HAVE_AIO_VFS_SUPPORT 
    400388 
    401 static void kiocb_ctor( 
    402 #if defined(HAVE_KMEM_CACHE_CREATE_CTOR_ONE_PARAM) 
    403     void *req 
    404 #elif defined(HAVE_KMEM_CACHE_CREATE_CTOR_TWO_PARAM) 
    405     struct kmem_cache *cachep, 
    406     void *req 
    407 #else 
    408     void *req, 
    409     pvfs2_kmem_cache_t * cachep, 
    410     unsigned long flags 
    411 #endif 
    412 ) 
    413 { 
    414     memset(req, 0, sizeof(pvfs2_kiocb)); 
    415 } 
    416  
    417  
    418389int kiocb_cache_initialize(void) 
    419390{ 
    420391    pvfs2_kiocb_cache = kmem_cache_create( 
    421392        "pvfs2_kiocbcache", sizeof(pvfs2_kiocb), 0, 
    422         PVFS2_CACHE_CREATE_FLAGS, kiocb_ctor 
     393        PVFS2_CACHE_CREATE_FLAGS, NULL 
    423394#ifdef HAVE_KMEM_CACHE_CREATE_DESTRUCTOR_PARAM 
    424395        , NULL 
     
    452423    { 
    453424        gossip_err("kiocb_alloc: kmem_cache_alloc failed!\n"); 
     425    } 
     426    else 
     427    { 
     428        memset(x, 0, sizeof(pvfs2_kiocb)); 
    454429    } 
    455430    return x; 
  • branches/test-slab-cache-patch/src/kernel/linux-2.6/pvfs2-utils.c

    r8215 r8885  
    19981998} 
    19991999 
     2000/* 
     2001  We want to clear everything except for rw_semaphore and the vfs_inode 
     2002*/ 
    20002003void pvfs2_inode_initialize(pvfs2_inode_t *pvfs2_inode) 
    20012004{ 
     
    20072010        memset(pvfs2_inode->link_target, 0, sizeof(pvfs2_inode->link_target)); 
    20082011        pvfs2_inode->error_code = 0; 
     2012        pvfs2_inode->revalidate_failed = 0; 
     2013        pvfs2_inode->pinode_flags = 0; 
    20092014        SetInitFlag(pvfs2_inode); 
    20102015    }