svn commit: r215138 - in head/sys: net sys
Andriy Gapon
avg at freebsd.org
Fri Nov 12 06:59:13 UTC 2010
on 11/11/2010 21:37 Dimitry Andric said the following:
> On 2010-11-11 20:29, Andriy Gapon wrote:
>> Do I understand it correctly that set_pcpu section itself would not be
>> produced if
>> DPCPU_DEFINE() is not actually used?
>
> Yes, although currently this does not occur in any kernel module (I
> tested using make universe). But indeed, if you would include e.g.
> vnet.h or pcpu.h, but did not use any VNET_DEFINE or DPCPU_DEFINE
> macros, you would get an error during linking.
Either I am confused or there is something wrong.
I think that we have plenty of modules that do not use DPCPU_DEFINE, but source
files of which do include pcpu.h.
> The proper fix for this is to use the __GLOBL macros only when actually
> invoking the VNET_DEFINE or DPCPU_DEFINE macros, just as with the
> __MAKE_SET macro. But this is made more difficult by the fact that many
> invocations of VNET_DEFINE and DPCPU_DEFINE are either prefixed with
> 'static', or postfixed with '= literal_value'.
>
> Maybe we could use separate VNET_DEFINE_STATIC and DPCPU_DEFINE_STATIC
> macros for this, since it looks like some of the definitions actually
> define public variables...
--
Andriy Gapon
More information about the svn-src-all
mailing list