Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/slab.c

    r4d194be r7ce7cfb  
    264264                freed = cache->destructor(obj);
    265265       
    266         irq_spinlock_lock(&cache->slablock, true);
     266        spinlock_lock(&cache->slablock);
    267267        ASSERT(slab->available < cache->objects);
    268268       
     
    275275                /* Free associated memory */
    276276                list_remove(&slab->link);
    277                 irq_spinlock_unlock(&cache->slablock, true);
     277                spinlock_unlock(&cache->slablock);
    278278               
    279279                return freed + slab_space_free(cache, slab);
     
    284284        }
    285285       
    286         irq_spinlock_unlock(&cache->slablock, true);
     286        spinlock_unlock(&cache->slablock);
    287287        return freed;
    288288}
     
    295295NO_TRACE static void *slab_obj_create(slab_cache_t *cache, unsigned int flags)
    296296{
    297         irq_spinlock_lock(&cache->slablock, true);
     297        spinlock_lock(&cache->slablock);
    298298       
    299299        slab_t *slab;
     
    308308                 *
    309309                 */
    310                 irq_spinlock_unlock(&cache->slablock, true);
     310                spinlock_unlock(&cache->slablock);
    311311                slab = slab_space_alloc(cache, flags);
    312312                if (!slab)
    313313                        return NULL;
    314314               
    315                 irq_spinlock_lock(&cache->slablock, true);
     315                spinlock_lock(&cache->slablock);
    316316        } else {
    317317                slab = list_get_instance(list_first(&cache->partial_slabs),
     
    329329                list_prepend(&slab->link, &cache->partial_slabs);
    330330       
    331         irq_spinlock_unlock(&cache->slablock, true);
     331        spinlock_unlock(&cache->slablock);
    332332       
    333333        if ((cache->constructor) && (cache->constructor(obj, flags))) {
     
    355355        link_t *cur;
    356356       
    357         irq_spinlock_lock(&cache->maglock, true);
     357        spinlock_lock(&cache->maglock);
    358358        if (!list_empty(&cache->magazines)) {
    359359                if (first)
     
    366366                atomic_dec(&cache->magazine_counter);
    367367        }
    368         irq_spinlock_unlock(&cache->maglock, true);
    369 
     368       
     369        spinlock_unlock(&cache->maglock);
    370370        return mag;
    371371}
     
    377377    slab_magazine_t *mag)
    378378{
    379         irq_spinlock_lock(&cache->maglock, true);
     379        spinlock_lock(&cache->maglock);
    380380       
    381381        list_prepend(&mag->link, &cache->magazines);
    382382        atomic_inc(&cache->magazine_counter);
    383383       
    384         irq_spinlock_unlock(&cache->maglock, true);
     384        spinlock_unlock(&cache->maglock);
    385385}
    386386
     
    414414        slab_magazine_t *lastmag = cache->mag_cache[CPU->id].last;
    415415       
    416         ASSERT(irq_spinlock_locked(&cache->mag_cache[CPU->id].lock));
     416        ASSERT(spinlock_locked(&cache->mag_cache[CPU->id].lock));
    417417       
    418418        if (cmag) { /* First try local CPU magazines */
     
    451451                return NULL;
    452452       
    453         irq_spinlock_lock(&cache->mag_cache[CPU->id].lock, true);
     453        spinlock_lock(&cache->mag_cache[CPU->id].lock);
    454454       
    455455        slab_magazine_t *mag = get_full_current_mag(cache);
    456456        if (!mag) {
    457                 irq_spinlock_unlock(&cache->mag_cache[CPU->id].lock, true);
     457                spinlock_unlock(&cache->mag_cache[CPU->id].lock);
    458458                return NULL;
    459459        }
    460460       
    461461        void *obj = mag->objs[--mag->busy];
    462         irq_spinlock_unlock(&cache->mag_cache[CPU->id].lock, true);
     462        spinlock_unlock(&cache->mag_cache[CPU->id].lock);
    463463       
    464464        atomic_dec(&cache->cached_objs);
     
    481481        slab_magazine_t *lastmag = cache->mag_cache[CPU->id].last;
    482482       
    483         ASSERT(irq_spinlock_locked(&cache->mag_cache[CPU->id].lock));
     483        ASSERT(spinlock_locked(&cache->mag_cache[CPU->id].lock));
    484484       
    485485        if (cmag) {
     
    531531                return -1;
    532532       
    533         irq_spinlock_lock(&cache->mag_cache[CPU->id].lock, true);
     533        spinlock_lock(&cache->mag_cache[CPU->id].lock);
    534534       
    535535        slab_magazine_t *mag = make_empty_current_mag(cache);
    536536        if (!mag) {
    537                 irq_spinlock_unlock(&cache->mag_cache[CPU->id].lock, true);
     537                spinlock_unlock(&cache->mag_cache[CPU->id].lock);
    538538                return -1;
    539539        }
     
    541541        mag->objs[mag->busy++] = obj;
    542542       
    543         irq_spinlock_unlock(&cache->mag_cache[CPU->id].lock, true);
     543        spinlock_unlock(&cache->mag_cache[CPU->id].lock);
    544544       
    545545        atomic_inc(&cache->cached_objs);
     
    593593        for (i = 0; i < config.cpu_count; i++) {
    594594                memsetb(&cache->mag_cache[i], sizeof(cache->mag_cache[i]), 0);
    595                 irq_spinlock_initialize(&cache->mag_cache[i].lock,
     595                spinlock_initialize(&cache->mag_cache[i].lock,
    596596                    "slab.cache.mag_cache[].lock");
    597597        }
     
    624624        list_initialize(&cache->magazines);
    625625       
    626         irq_spinlock_initialize(&cache->slablock, "slab.cache.slablock");
    627         irq_spinlock_initialize(&cache->maglock, "slab.cache.maglock");
     626        spinlock_initialize(&cache->slablock, "slab.cache.slablock");
     627        spinlock_initialize(&cache->maglock, "slab.cache.maglock");
    628628       
    629629        if (!(cache->flags & SLAB_CACHE_NOMAGAZINE))
     
    704704                size_t i;
    705705                for (i = 0; i < config.cpu_count; i++) {
    706                         irq_spinlock_lock(&cache->mag_cache[i].lock, true);
     706                        spinlock_lock(&cache->mag_cache[i].lock);
    707707                       
    708708                        mag = cache->mag_cache[i].current;
     
    716716                        cache->mag_cache[i].last = NULL;
    717717                       
    718                         irq_spinlock_unlock(&cache->mag_cache[i].lock, true);
     718                        spinlock_unlock(&cache->mag_cache[i].lock);
    719719                }
    720720        }
Note: See TracChangeset for help on using the changeset viewer.