* Re: linux-next: Tree for Nov 14 (gpu/drm/i915)
2012-11-14 19:41 ` linux-next: Tree for Nov 14 (gpu/drm/i915) Randy Dunlap
@ 2012-11-14 20:17 ` Andrew Morton
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2012-11-14 20:17 UTC (permalink / raw)
To: Randy Dunlap
Cc: Stephen Rothwell, linux-next, linux-kernel, Linus, dri-devel,
Dave Airlie
On Wed, 14 Nov 2012 11:41:49 -0800
Randy Dunlap <rdunlap@infradead.org> wrote:
> On 11/13/2012 09:30 PM, Stephen Rothwell wrote:
>
> > Hi all,
> >
> > News: next-20121115 (i.e. tomorrow) will be the last release until
> > next-20121126 (which should be just be after -rc7, I guess - assuming
> > that Linus does not release v3.7 before then), so if you want something
> > in linux-next for a reasonable amount of testing, it should probably be
> > committed tomorrow.
> >
> > Changes since 20121113:
> >
>
>
>
> on i386:
>
> ERROR: "__build_bug_on_failed" [drivers/gpu/drm/i915/i915.ko] undefined!
>
> Reference to that symbol is found in
> i915_gem_execbuffer.o. Reference to BUILD_BUG_ON() is found in
> i915_gem_execbuffer.c:
>
> static struct eb_objects *
> eb_create(int size)
> {
> struct eb_objects *eb;
> int count = PAGE_SIZE / sizeof(struct hlist_head) / 2;
> BUILD_BUG_ON(!is_power_of_2(PAGE_SIZE / sizeof(struct hlist_head)));
>
Where to start.
- eb_create() has no business assuming that the hlist_head has any
particular size. We could easily add some conditionally-compiled
debug fields in there, and drm blows up.
- The assertion is obviously true at present, so I assume that gcc
screwed up and failed to reduce all that to a compile-time constant.
- We have a BUILD_BUG_ON_NOT_POWER_OF_2(). Use it?
- This code is using PAGE_SIZE to scale a kernel data structure.
PAGE_SIZE can vary by a factor of 16, depending on Kconfig. This
can result in 64k PAGE_SIZE machines exhibiting different beahviour
from that which the testers saw.
Don't do it. It's better to hard-wire 4096.
^ permalink raw reply [flat|nested] 2+ messages in thread