Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Nov 2010 23:32:00 +0100
From:      Attilio Rao <attilio@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r215544 - head/sys/kern
Message-ID:  <AANLkTinEDmuW=zFdJaRZZfd9DgoTLL9pXRBwvpGsACMq@mail.gmail.com>
In-Reply-To: <201011191642.00761.jhb@freebsd.org>
References:  <201011191943.oAJJhv3i087205@svn.freebsd.org> <201011191617.51552.jhb@freebsd.org> <AANLkTim5=fXFojYehimtW9B9GDn6hw0U-00E02tDfFCh@mail.gmail.com> <201011191642.00761.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2010/11/19 John Baldwin <jhb@freebsd.org>:
> On Friday, November 19, 2010 4:27:27 pm Attilio Rao wrote:
>> 2010/11/19 John Baldwin <jhb@freebsd.org>:
>> > On Friday, November 19, 2010 2:43:57 pm Attilio Rao wrote:
>> >> Author: attilio
>> >> Date: Fri Nov 19 19:43:56 2010
>> >> New Revision: 215544
>> >> URL: http://svn.freebsd.org/changeset/base/215544
>> >>
>> >> Log:
>> >> =C2=A0 Scan the list in reverse order for the shutdown handlers of lo=
aded modules.
>> >> =C2=A0 This way, when there is a dependency between two modules, the =
handler of the
>> >> =C2=A0 latter probed runs first.
>> >>
>> >> =C2=A0 This is a similar approach as the modules are unloaded in the =
same
>> >> =C2=A0 linkerfile.
>> >>
>> >> =C2=A0 Sponsored by: =C2=A0 =C2=A0 =C2=A0 Sandvine Incorporated
>> >> =C2=A0 Submitted by: =C2=A0 =C2=A0 =C2=A0 Nima Misaghian <nmisaghian =
at sandvine dot com>
>> >> =C2=A0 MFC after: =C2=A01 week
>> >>
>> >> Modified:
>> >> =C2=A0 head/sys/kern/kern_module.c
>> >>
>> >> Modified: head/sys/kern/kern_module.c
>> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
>> >> --- head/sys/kern/kern_module.c =C2=A0 =C2=A0 =C2=A0 Fri Nov 19 18:59=
:35 2010 =C2=A0 =C2=A0 =C2=A0 =C2=A0(r215543)
>> >> +++ head/sys/kern/kern_module.c =C2=A0 =C2=A0 =C2=A0 Fri Nov 19 19:43=
:56 2010 =C2=A0 =C2=A0 =C2=A0 =C2=A0(r215544)
>> >> @@ -46,7 +46,7 @@ __FBSDID("$FreeBSD$");
>> >>
>> >> =C2=A0static MALLOC_DEFINE(M_MODULE, "module", "module data structure=
s");
>> >>
>> >> -typedef TAILQ_HEAD(, module) modulelist_t;
>> >> +typedef TAILQ_HEAD(modulelst, module) modulelist_t;
>> >
>> > Is modulelist already taken? =C2=A0If not, we should probably just ret=
ire
>> > 'modulelist_t' and replace it with 'struct modulelist'.
>>
>> Note that I used modulelst, not modulelist.
>> Probabilly, if you think the name may be still confusing, we can
>> pickup one another further.
>
> Yes, I'd much prefer 'modulelist' with the extra 'i' as it is more readab=
le.
> If you go that route, I think you can drop modulelist_t since style(9)
> discourages foo_t types unless they are required by a standard.

I think that this patch should make it?

Thanks,
Attilio

Index: sys/kern/kern_module.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- sys/kern/kern_module.c      (revision 215544)
+++ sys/kern/kern_module.c      (working copy)
@@ -46,7 +46,6 @@

 static MALLOC_DEFINE(M_MODULE, "module", "module data structures");

-typedef TAILQ_HEAD(modulelst, module) modulelist_t;
 struct module {
        TAILQ_ENTRY(module)     link;   /* chain together all modules */
        TAILQ_ENTRY(module)     flink;  /* all modules in a file */
@@ -61,7 +60,7 @@

 #define MOD_EVENT(mod, type)   (mod)->handler((mod), (type), (mod)->arg)

-static modulelist_t modules;
+static TAILQ_HEAD(modulelist, module) modules;
 struct sx modules_sx;
 static int nextid =3D 1;
 static void module_shutdown(void *, int);
@@ -101,7 +100,7 @@
                return;
        mtx_lock(&Giant);
        MOD_SLOCK;
-       TAILQ_FOREACH_REVERSE(mod, &modules, modulelst, link)
+       TAILQ_FOREACH_REVERSE(mod, &modules, modulelist, link)
                MOD_EVENT(mod, MOD_SHUTDOWN);
        MOD_SUNLOCK;
        mtx_unlock(&Giant);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinEDmuW=zFdJaRZZfd9DgoTLL9pXRBwvpGsACMq>