summaryrefslogtreecommitdiff
path: root/src/common/slab/slab.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/slab/slab.c')
-rw-r--r--src/common/slab/slab.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/src/common/slab/slab.c b/src/common/slab/slab.c
index 83d7ac5..e5f9f9a 100644
--- a/src/common/slab/slab.c
+++ b/src/common/slab/slab.c
@@ -12,7 +12,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+*/
#include <config.h>
#include <stdio.h>
@@ -71,7 +71,7 @@ static slab_depot_t _depot_g; /*! \brief Global slab depot. */
*/
static void* slab_depot_alloc(size_t bufsize)
{
- void *page = 0;
+ void *page = 0;
#ifdef MEM_SLAB_DEPOT
if (_depot_g.available) {
for (int i = _depot_g.available - 1; i > -1 ; --i) {
@@ -91,12 +91,14 @@ static void* slab_depot_alloc(size_t bufsize)
}
#else // MEM_SLAB_DEPOT
- if(posix_memalign(&page, SLAB_SZ, SLAB_SZ) == 0) {
- ((slab_t*)page)->bufsize = 0;
- } else {
- page = 0;
- }
+ UNUSED(bufsize);
+ if(posix_memalign(&page, SLAB_SZ, SLAB_SZ) == 0) {
+ ((slab_t*)page)->bufsize = 0;
+ } else {
+ page = 0;
+ }
#endif // MEM_SLAB_DEPOT
+ UNUSED(bufsize);
return page;
}
@@ -148,14 +150,14 @@ void __attribute__ ((constructor)) slab_init()
if (slab_size < 0) {
slab_size = SLAB_MINSIZE;
}
-
+
// Fetch page size
SLAB_SZ = (size_t)slab_size;
unsigned slab_logsz = fastlog2(SLAB_SZ);
// Compute slab page mask
SLAB_MASK = 0;
- for (int i = 0; i < slab_logsz; ++i) {
+ for (unsigned i = 0; i < slab_logsz; ++i) {
SLAB_MASK |= 1 << i;
}
SLAB_MASK = ~SLAB_MASK;
@@ -463,14 +465,8 @@ int slab_cache_init(slab_cache_t* cache, size_t bufsize)
return -1;
}
- cache->empty = 0;
+ memset(cache, 0, sizeof(slab_cache_t));
cache->bufsize = bufsize;
- cache->slabs_free = cache->slabs_full = 0;
- cache->color = 0;
-
- /* Initialize stats */
- cache->stat_allocs = cache->stat_frees = 0;
-
dbg_mem("%s: created cache of size %zu\n",
__func__, bufsize);
@@ -527,5 +523,3 @@ int slab_cache_reap(slab_cache_t* cache)
cache->empty = 0;
return count;
}
-
-