From 523d66730c861d517ce39724b850556acded784d Mon Sep 17 00:00:00 2001 From: Mateusz Guzik Date: Mon, 9 Nov 2020 00:05:21 +0000 Subject: [PATCH] procdesc: convert the zone to a malloc type The object is 128 bytes in size. --- sys/kern/sys_procdesc.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c index 8b18638d76b3..95a389c582b0 100644 --- a/sys/kern/sys_procdesc.c +++ b/sys/kern/sys_procdesc.c @@ -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; @@ -116,22 +116,6 @@ static struct fileops procdesc_ops = { .fo_flags = DFLAG_PASSABLE, }; -/* - * 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); } }