objcache: objcache_create on longer changes cluster_limit
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 21 Oct 2012 09:00:54 +0000 (17:00 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 21 Oct 2012 09:00:54 +0000 (17:00 +0800)
It is no longer needed to pass the pointer to cluster_limit.

sys/kern/kern_exec.c
sys/kern/kern_objcache.c
sys/kern/kern_syslink.c
sys/kern/kern_sysref.c
sys/kern/lwkt_thread.c
sys/kern/uipc_mbuf.c
sys/sys/objcache.h
sys/vfs/puffs/puffs_msgif.c

index 74059f3..4aa7cb8 100644 (file)
@@ -128,7 +128,7 @@ exec_objcache_init(void *arg __unused)
 
        exec_objcache = objcache_create_mbacked(
                                        M_EXECARGS, PATH_MAX + ARG_MAX,
-                                       &cluster_limit, 8,
+                                       cluster_limit, 8,
                                        NULL, NULL, NULL);
 }
 SYSINIT(exec_objcache, SI_BOOT2_MACHDEP, SI_ORDER_ANY, exec_objcache_init, 0);
index d314888..0a36ee6 100644 (file)
@@ -173,7 +173,7 @@ null_ctor(void *obj, void *privdata, int ocflags)
  * Create an object cache.
  */
 struct objcache *
-objcache_create(const char *name, int *cluster_limit0, int nom_cache,
+objcache_create(const char *name, int cluster_limit, int nom_cache,
                objcache_ctor_fn *ctor, objcache_dtor_fn *dtor, void *privdata,
                objcache_alloc_fn *alloc, objcache_free_fn *free,
                void *allocator_args)
@@ -184,12 +184,6 @@ objcache_create(const char *name, int *cluster_limit0, int nom_cache,
        int nmagdepot;
        int mag_capacity;
        int i;
-       int cluster_limit;
-
-       if (cluster_limit0 == NULL)
-               cluster_limit = 0;
-       else
-               cluster_limit = *cluster_limit0;
 
        /*
         * Allocate object cache structure
@@ -291,8 +285,6 @@ objcache_create(const char *name, int *cluster_limit0, int nom_cache,
        LIST_INSERT_HEAD(&allobjcaches, oc, oc_next);
        spin_unlock(&objcachelist_spin);
 
-       if (cluster_limit0 != NULL)
-               *cluster_limit0 = cluster_limit;
        return (oc);
 }
 
@@ -305,7 +297,7 @@ objcache_create_simple(malloc_type_t mtype, size_t objsize)
        margs = kmalloc(sizeof(*margs), M_OBJCACHE, M_WAITOK|M_ZERO);
        margs->objsize = objsize;
        margs->mtype = mtype;
-       oc = objcache_create(mtype->ks_shortdesc, NULL, 0,
+       oc = objcache_create(mtype->ks_shortdesc, 0, 0,
                             NULL, NULL, NULL,
                             objcache_malloc_alloc, objcache_malloc_free,
                             margs);
@@ -314,7 +306,7 @@ objcache_create_simple(malloc_type_t mtype, size_t objsize)
 
 struct objcache *
 objcache_create_mbacked(malloc_type_t mtype, size_t objsize,
-                       int *cluster_limit, int nom_cache,
+                       int cluster_limit, int nom_cache,
                        objcache_ctor_fn *ctor, objcache_dtor_fn *dtor,
                        void *privdata)
 {
index b93844f..1e70a2e 100644 (file)
@@ -148,13 +148,13 @@ syslinkinit(void *dummy __unused)
 {
        size_t n = sizeof(struct slmsg);
 
-       sl_objcache_none = objcache_create_mbacked(M_SYSLINK, n, NULL, 64,
+       sl_objcache_none = objcache_create_mbacked(M_SYSLINK, n, 0, 64,
                                                   slmsg_ctor, slmsg_dtor,
                                                   &sl_objcache_none);
-       sl_objcache_small= objcache_create_mbacked(M_SYSLINK, n, NULL, 64,
+       sl_objcache_small= objcache_create_mbacked(M_SYSLINK, n, 0, 64,
                                                   slmsg_ctor, slmsg_dtor,
                                                   &sl_objcache_small);
-       sl_objcache_big  = objcache_create_mbacked(M_SYSLINK, n, NULL, 16,
+       sl_objcache_big  = objcache_create_mbacked(M_SYSLINK, n, 0, 16,
                                                   slmsg_ctor, slmsg_dtor,
                                                   &sl_objcache_big);
 }
index 0cffa99..97aed42 100644 (file)
@@ -144,7 +144,7 @@ sysref_alloc(struct sysref_class *srclass)
                KKASSERT(srclass->mtype != NULL);
                srclass->oc = objcache_create_mbacked(
                                srclass->mtype, srclass->objsize, 
-                               NULL, srclass->nom_cache,
+                               0, srclass->nom_cache,
                                sysref_ctor, sysref_dtor, srclass);
        }
 
index 6dd8537..9962b4b 100644 (file)
@@ -283,7 +283,7 @@ lwkt_init(void)
     }
     thread_cache = objcache_create_mbacked(
                                M_THREAD, sizeof(struct thread),
-                               NULL, lwkt_cache_threads,
+                               0, lwkt_cache_threads,
                                _lwkt_thread_ctor, _lwkt_thread_dtor, NULL);
 }
 
index 7c79fba..c1b4d00 100644 (file)
@@ -665,56 +665,56 @@ mbinit(void *dummy)
 
        limit = nmbufs;
        mbuf_cache = objcache_create("mbuf",
-           &limit, 0,
+           limit, 0,
            mbuf_ctor, NULL, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mbuf_malloc_args);
        mb_limit += limit;
 
        limit = nmbufs;
        mbufphdr_cache = objcache_create("mbuf pkt hdr",
-           &limit, nmbufs / 4,
+           limit, nmbufs / 4,
            mbufphdr_ctor, NULL, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mbuf_malloc_args);
        mb_limit += limit;
 
        ncl_limit = nmbclusters;
        mclmeta_cache = objcache_create("cluster mbuf",
-           &ncl_limit, 0,
+           ncl_limit, 0,
            mclmeta_ctor, mclmeta_dtor, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mclmeta_malloc_args);
        cl_limit += ncl_limit;
 
        jcl_limit = nmbjclusters;
        mjclmeta_cache = objcache_create("jcluster mbuf",
-           &jcl_limit, 0,
+           jcl_limit, 0,
            mjclmeta_ctor, mclmeta_dtor, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mclmeta_malloc_args);
        cl_limit += jcl_limit;
 
        limit = nmbclusters;
        mbufcluster_cache = objcache_create("mbuf + cluster",
-           &limit, nmbclusters / mcl_cachefrac,
+           limit, nmbclusters / mcl_cachefrac,
            mbufcluster_ctor, mbufcluster_dtor, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mbuf_malloc_args);
        mb_limit += limit;
 
        limit = nmbclusters;
        mbufphdrcluster_cache = objcache_create("mbuf pkt hdr + cluster",
-           &limit, nmbclusters / mclph_cachefrac,
+           limit, nmbclusters / mclph_cachefrac,
            mbufphdrcluster_ctor, mbufcluster_dtor, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mbuf_malloc_args);
        mb_limit += limit;
 
        limit = nmbjclusters / 4; /* XXX really rarely used */
        mbufjcluster_cache = objcache_create("mbuf + jcluster",
-           &limit, 0,
+           limit, 0,
            mbufjcluster_ctor, mbufcluster_dtor, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mbuf_malloc_args);
        mb_limit += limit;
 
        limit = nmbjclusters;
        mbufphdrjcluster_cache = objcache_create("mbuf pkt hdr + jcluster",
-           &limit, nmbjclusters / 16,
+           limit, nmbjclusters / 16,
            mbufphdrjcluster_ctor, mbufcluster_dtor, NULL,
            objcache_malloc_alloc, objcache_malloc_free, &mbuf_malloc_args);
        mb_limit += limit;
index 2ac48cb..2188dc8 100644 (file)
@@ -60,7 +60,7 @@ typedef void (objcache_free_fn)(void *obj, void *allocator_args);
 struct objcache;
 
 struct objcache
-       *objcache_create(const char *name, int *cluster_limit, int nom_cache,
+       *objcache_create(const char *name, int cluster_limit, int nom_cache,
                         objcache_ctor_fn *ctor, objcache_dtor_fn *dtor,
                         void *privdata,
                         objcache_alloc_fn *alloc, objcache_free_fn *free,
@@ -69,7 +69,7 @@ struct objcache
        *objcache_create_simple(malloc_type_t mtype, size_t objsize);
 struct objcache
        *objcache_create_mbacked(malloc_type_t mtype, size_t objsize,
-                         int *cluster_limit, int nom_cache,
+                         int cluster_limit, int nom_cache,
                          objcache_ctor_fn *ctor, objcache_dtor_fn *dtor,
                          void *privdata);
 void   *objcache_get(struct objcache *oc, int ocflags);
index f2b78cc..54e7cee 100644 (file)
@@ -111,7 +111,7 @@ puffs_msgif_init(void)
 {
 
        parkpc = objcache_create_mbacked(M_PUFFS, sizeof(struct puffs_msgpark),
-           NULL, 0, makepark, nukepark, NULL);
+           0, 0, makepark, nukepark, NULL);
 }
 
 void