Changeset e394c196 in mainline for kernel/generic/src/cap/cap.c


Ignore:
Timestamp:
2018-11-12T20:53:57Z (5 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
705ca2b
Parents:
15639ec
git-author:
Jakub Jermar <jakub@…> (2018-08-28 19:55:29)
git-committer:
Jakub Jermar <jakub@…> (2018-11-12 20:53:57)
Message:

Use a dedicated cache for instances of kobject_t

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/cap/cap.c

    r15639ec re394c196  
    9393
    9494static slab_cache_t *cap_cache;
     95static slab_cache_t *kobject_cache;
    9596
    9697static size_t caps_hash(const ht_link_t *item)
     
    123124        cap_cache = slab_cache_create("cap_t", sizeof(cap_t), 0, NULL,
    124125            NULL, 0);
     126        kobject_cache = slab_cache_create("kobject_t", sizeof(kobject_t), 0,
     127            NULL, NULL, 0);
    125128}
    126129
     
    394397}
    395398
     399kobject_t *kobject_alloc(unsigned int flags)
     400{
     401        return slab_alloc(kobject_cache, flags);
     402}
     403
     404void kobject_free(kobject_t *kobj)
     405{
     406        slab_free(kobject_cache, kobj);
     407}
     408
    396409/** Initialize kernel object
    397410 *
     
    462475        if (atomic_postdec(&kobj->refcnt) == 1) {
    463476                kobj->ops->destroy(kobj->raw);
    464                 free(kobj);
     477                kobject_free(kobj);
    465478        }
    466479}
Note: See TracChangeset for help on using the changeset viewer.