[releng_7 tinderbox] failure on amd64/amd64
John Birrell
jb at what-creek.com
Thu Aug 28 21:19:42 UTC 2008
On Thu, Aug 28, 2008 at 04:25:54PM +0300, Kostik Belousov wrote:
> > /src/sys/modules/cyclic/../../cddl/compat/opensolaris/sys/cpuvar.h:72: error: size of array 'cpuc_pad' is too large
> > *** Error code 1
>
> This one is caused by struct sx difference between stable/7 and head.
> More detailed, sizeof(struct sx) in the LINT build exceeds 56 bytes,
> and causes CPUC_PADSIZE to be negative.
>
> I think that CPU_CACHE_COHERENCE_SIZE shall be defined as roundup. Unless
> you have objections, I will commit this to HEAD with short MFC period:
Please go ahead. Thanks (and sorry for the pain).
>
> diff --git a/sys/cddl/compat/opensolaris/sys/cpuvar.h b/sys/cddl/compat/opensolaris/sys/cpuvar.h
> index df0af5c..b42fda6 100644
> --- a/sys/cddl/compat/opensolaris/sys/cpuvar.h
> +++ b/sys/cddl/compat/opensolaris/sys/cpuvar.h
> @@ -65,7 +65,8 @@ extern solaris_cpu_t solaris_cpu[];
> */
> #define CPUC_SIZE (sizeof (uint16_t) + sizeof (uintptr_t) + \
> sizeof (kmutex_t))
> -#define CPUC_PADSIZE CPU_CACHE_COHERENCE_SIZE - CPUC_SIZE
> +#define CPUC_SIZE1 roundup(CPUC_SIZE, CPU_CACHE_COHERENCE_SIZE)
> +#define CPUC_PADSIZE CPUC_SIZE1 - CPUC_SIZE
>
> typedef struct cpu_core {
> uint16_t cpuc_dtrace_flags; /* DTrace flags */
--
John Birrell
More information about the freebsd-stable
mailing list