Author: mjg
Date: Mon Nov  9 00:05:21 2020
New Revision: 367500
URL: https://svnweb.freebsd.org/changeset/base/367500

Log:
  procdesc: convert the zone to a malloc type
  
  The object is 128 bytes in size.

Modified:
  head/sys/kern/sys_procdesc.c

Modified: head/sys/kern/sys_procdesc.c
==============================================================================
--- head/sys/kern/sys_procdesc.c        Mon Nov  9 00:04:58 2020        
(r367499)
+++ head/sys/kern/sys_procdesc.c        Mon Nov  9 00:05:21 2020        
(r367500)
@@ -92,7 +92,7 @@ __FBSDID("$FreeBSD$");
 
 FEATURE(process_descriptors, "Process Descriptors");
 
-static uma_zone_t procdesc_zone;
+MALLOC_DEFINE(M_PROCDESC, "procdesc", "process descriptors");
 
 static fo_poll_t       procdesc_poll;
 static fo_kqfilter_t   procdesc_kqfilter;
@@ -117,22 +117,6 @@ static struct fileops procdesc_ops = {
 };
 
 /*
- * Initialize with VFS so that process descriptors are available along with
- * other file descriptor types.  As long as it runs before init(8) starts,
- * there shouldn't be a problem.
- */
-static void
-procdesc_init(void *dummy __unused)
-{
-
-       procdesc_zone = uma_zcreate("procdesc", sizeof(struct procdesc),
-           NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
-       if (procdesc_zone == NULL)
-               panic("procdesc_init: procdesc_zone not initialized");
-}
-SYSINIT(vfs, SI_SUB_VFS, SI_ORDER_ANY, procdesc_init, NULL);
-
-/*
  * Return a locked process given a process descriptor, or ESRCH if it has
  * died.
  */
@@ -229,7 +213,7 @@ procdesc_new(struct proc *p, int flags)
 {
        struct procdesc *pd;
 
-       pd = uma_zalloc(procdesc_zone, M_WAITOK | M_ZERO);
+       pd = malloc(sizeof(*pd), M_PROCDESC, M_WAITOK | M_ZERO);
        pd->pd_proc = p;
        pd->pd_pid = p->p_pid;
        p->p_procdesc = pd;
@@ -290,7 +274,7 @@ procdesc_free(struct procdesc *pd)
 
                knlist_destroy(&pd->pd_selinfo.si_note);
                PROCDESC_LOCK_DESTROY(pd);
-               uma_zfree(procdesc_zone, pd);
+               free(pd, M_PROCDESC);
        }
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to