svn commit: r364944 - head/sys/kern
Warner Losh
imp at bsdimp.com
Tue Sep 15 14:39:12 UTC 2020
On Tue, Sep 15, 2020, 8:22 AM Mark Johnston <markj at freebsd.org> wrote:
> On Tue, Sep 15, 2020 at 05:15:30PM +0300, Konstantin Belousov wrote:
> > On Sat, Aug 29, 2020 at 04:29:53AM +0000, Warner Losh wrote:
> > > Author: imp
> > > Date: Sat Aug 29 04:29:53 2020
> > > New Revision: 364944
> > > URL: https://svnweb.freebsd.org/changeset/base/364944
> > >
> > > Log:
> > > devctl: move to using a uma zone
> > >
> > > Convert the memory management of devctl. Rewrite if to make better
> > > use of memory. This eliminates several mallocs (5? worse case) needed
> > > to send a message. It's now possible to always send a message, though
> > > if things are really backed up the oldest message will be dropped to
> > > free up space for the newest.
> > >
> > > Add a static bus_child_{location,pnpinfo}_sb to start migrating to
> > > sbuf instead of buffer + length. Use it in the new code. Other code
> > > will be converted later (bus_child_*_str is only used inside of
> > > subr_bus.c, though implemented in ~100 places in the tree).
> > >
> > > Reviewed by: markj@
> > > Differential Revision: https://reviews.freebsd.org/D26140
> > >
> > > Modified:
> > > head/sys/kern/subr_bus.c
> > >
> >
> > > + } else {
> > > + /* dei can't be NULL -- we know we have at least one in
> the zone */
> > > + dei = uma_zalloc(devsoftc.zone, M_NOWAIT);
> > > + MPASS(dei != NULL);
> > This does not work. I believe you need to disable per-cpu cache for the
> > zone, at least. But I am not sure it is enough.
>
> From the report we have:
>
> db:0:pho> show uma
> Zone Size Used Free Requests Sleeps Bucket
> Total Mem XFree
> DEVCTL 1024 6415164 0 6416203 0 16
> 6569127936 0
>
> so it looks like the primary problem is a leak.
>
> > https://people.freebsd.org/~pho/stress/log/kostik1314.txt
I'll look into it.
Warner
>
>
More information about the svn-src-all
mailing list