Re: domain_add(xxx) after domainfinalize...

From: Svatopluk Kraus <onwahe_at_gmail.com>
Date: Sat, 2 Aug 2014 21:27:03 +0200
On Sat, Aug 2, 2014 at 8:32 PM, John-Mark Gurney <jmg_at_funkthat.com> wrote:

> Svatopluk Kraus wrote this message on Sat, Aug 02, 2014 at 15:20 +0200:
> > Well, I did not look at network stack for long time, so the following
> > things could be obsolete now, but at least:
> >
> > (1) There is some room left in mbuf header on its allocation, so
> protocols
> > (link) headers can be added in the front of data without need of
> > reallocation or data copying. The size of the room is evaluated from all
> > domains at boot time.
> >
> > (2) All network address masks are shared among domains and protocols in
> > mask radix tree. The tree is created with particular key size, which is
> > again evaluated from all domains as maximal size of all known addresses.
> >
> > So, if new domain added after these evaluations does not break both them
> > and some other things, there is no problem. Otherwise, some warnings are
> > always nice if things go bad.
>
> But would anyone who sees these issues know that this is the problem?
> And what would they do, report the problem?  We'd say, yeh, we know,
> but do you hit this every day?  Nope, ok, we won't fix it...
>
> > Maybe some function which examine new domain and say there is no risk to
> > add it would be nice.
>
> I agree...  These things should have been done in the first place, but
> clearly this warning wasn't enough to cause anyone to fix it.. :)
>


You are right, but the warning is remainder that there is something
unresolved. Remove the warning and forget, imho, it's not well.

Anyhow, when I asked the question in January 2011, I did not really mean to
remove the warning. I was mainly aware if I did not miss something what
could screw up things.

Svata



>
> > On Sat, Aug 2, 2014 at 12:21 AM, John-Mark Gurney <jmg_at_funkthat.com>
> wrote:
> >
> > > Svatopluk Kraus wrote this message on Sat, Aug 02, 2014 at 00:05 +0200:
> > > > Just what I've got in January 2011:
> > > >
> > >
> http://lists.freebsd.org/pipermail/freebsd-hackers/2011-January/034037.html
> > >
> > > Sadly, after three (or six+) years, it is clear that these bugs will
> > > not be fixed, and this warning message is not useful, since no one has
> > > stepped up to fix them..
> > >
> > > btw, you might want to create a bug w/ the information you tracked down
> > > to hopefully help the person that decides to finally fix them, though
> > > I doubt they will ever be fixed as people apparently don't see bad
> > > behavior...
> > >
> > > Unless someone fixes the bugs in the next few days, I will commit the
> > > following patch:
> > > Index: uipc_domain.c
> > > ===================================================================
> > > --- uipc_domain.c       (revision 266964)
> > > +++ uipc_domain.c       (working copy)
> > > _at__at_ -227,15 +227,10 _at__at_
> > >                 printf("WARNING: attempt to domain_add(%s) before "
> > >                     "domaininit()\n", dp->dom_name);
> > >  #endif
> > > -#ifdef notyet
> > > -       KASSERT(domain_init_status < 2,
> > > -           ("attempt to domain_add(%s) after domainfinalize()",
> > > -           dp->dom_name));
> > > -#else
> > > -       if (domain_init_status >= 2)
> > > -               printf("WARNING: attempt to domain_add(%s) after "
> > > -                   "domainfinalize()\n", dp->dom_name);
> > > -#endif
> > > +       /*
> > > +        * XXX - there are bugs WRT to adding domain after
> domain_finalize
> > > is
> > > +        * called
> > > +        */
> > >         mtx_unlock(&dom_mtx);
> > >  }
> > >
> > >
> > > > On Fri, Aug 1, 2014 at 9:34 PM, John-Mark Gurney <jmg_at_funkthat.com>
> > > wrote:
> > > >
> > > > > So, I have a laptop that devd loads the bluetooth module every
> time..
> > > > >
> > > > > This means I get the following error on every boot:
> > > > > WARNING: attempt to domain_add(bluetooth) after domainfinalize()
> > > > > WARNING: attempt to domain_add(netgraph) after domainfinalize()
> > > > >
> > > > > Is there any real benefit to this warning?  I just looked at the
> code,
> > > > > and the domain gets added despite the warning...
> > > > >
> > > > > Also, it looks like the pervious warning, we should just make that
> an
> > > > > if/panic since it's clearly a programming bug, or kill the ifndef
> > > > > INVARIANTS...
>
> --
>   John-Mark Gurney                              Voice: +1 415 225 5579
>
>      "All that I will do, has been done, All that I have, has not."
>
Received on Sat Aug 02 2014 - 17:27:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:51 UTC