* Build regressions/improvements in v4.7-rc6 [not found] <1467619946-424-1-git-send-email-geert@linux-m68k.org> @ 2016-07-04 8:21 ` Geert Uytterhoeven 2016-07-04 9:17 ` Arnd Bergmann 0 siblings, 1 reply; 3+ messages in thread From: Geert Uytterhoeven @ 2016-07-04 8:21 UTC (permalink / raw) To: linux-arm-kernel On Mon, Jul 4, 2016 at 10:12 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > JFYI, when comparing v4.7-rc6[1] to v4.7-rc5[3], the summaries are: > - build errors: +3/-2 + /home/kisskb/slave/src/drivers/vhost/vhost.c: error: call to '__compiletime_assert_844' declared with attribute error: BUILD_BUG_ON failed: __alignof__ *vq->avail > VRING_AVAIL_ALIGN_SIZE: => 844:3 arm-randconfig > [1] http://kisskb.ellerman.id.au/kisskb/head/10562/ (260 out of 263 configs) > [3] http://kisskb.ellerman.id.au/kisskb/head/10532/ (260 out of 263 configs) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 3+ messages in thread
* Build regressions/improvements in v4.7-rc6 2016-07-04 8:21 ` Build regressions/improvements in v4.7-rc6 Geert Uytterhoeven @ 2016-07-04 9:17 ` Arnd Bergmann 2016-07-04 11:06 ` Paolo Bonzini 0 siblings, 1 reply; 3+ messages in thread From: Arnd Bergmann @ 2016-07-04 9:17 UTC (permalink / raw) To: linux-arm-kernel On Monday, July 4, 2016 10:21:45 AM CEST Geert Uytterhoeven wrote: > On Mon, Jul 4, 2016 at 10:12 AM, Geert Uytterhoeven > <geert@linux-m68k.org> wrote: > > JFYI, when comparing v4.7-rc6[1] to v4.7-rc5[3], the summaries are: > > - build errors: +3/-2 > > + /home/kisskb/slave/src/drivers/vhost/vhost.c: error: call to > '__compiletime_assert_844' declared with attribute error: BUILD_BUG_ON > failed: __alignof__ *vq->avail > VRING_AVAIL_ALIGN_SIZE: => 844:3 > > arm-randconfig > > > [1] http://kisskb.ellerman.id.au/kisskb/head/10562/ (260 out of 263 configs) > > [3] http://kisskb.ellerman.id.au/kisskb/head/10532/ (260 out of 263 configs) I don't see any changes in the code in this time frame, but this is the code causing it: struct vring_avail { __virtio16 flags; __virtio16 idx; __virtio16 ring[]; }; /* The virtqueue structure describes a queue attached to a device. */ struct vhost_virtqueue { struct vhost_dev *dev; /* The actual ring of buffers. */ struct mutex mutex; unsigned int num; struct vring_desc __user *desc; struct vring_avail __user *avail; struct vring_used __user *used; ... }; struct vhost_virtqueue *vq; BUILD_BUG_ON(__alignof__ *vq->avail > VRING_AVAIL_ALIGN_SIZE); The alignment of the *vq->avail should be '2' on all architectures, however an ARM OABI compiler will have a padded structure with alignment '4'. Looking at the build logs, I find it only in a single randconfig build at http://kisskb.ellerman.id.au/kisskb/buildresult/12735927/ which apparently enabled the vhost driver in combination with ARM_AEABI=n. In my own randconfig builds I am forcing ARM_AEABI=y because there are a couple of other problems with OABI. If we want to avoid this one, we could make the inclusion of drivers/vhost/Kconfig from arch/arm/kvm/Kconfig depend on CONFIG_AEABI, or perhaps go further force-enable CONFIG_AEABI for ARMv6k and higher (cmpxchg64() is broken on OABI too), and only include vhost if KVM is enabled (KVM in turn requires ARMv7). Arnd ^ permalink raw reply [flat|nested] 3+ messages in thread
* Build regressions/improvements in v4.7-rc6 2016-07-04 9:17 ` Arnd Bergmann @ 2016-07-04 11:06 ` Paolo Bonzini 0 siblings, 0 replies; 3+ messages in thread From: Paolo Bonzini @ 2016-07-04 11:06 UTC (permalink / raw) To: linux-arm-kernel On 04/07/2016 11:17, Arnd Bergmann wrote: > > If we want to avoid this one, we could make the inclusion of > drivers/vhost/Kconfig from arch/arm/kvm/Kconfig depend on CONFIG_AEABI, > or perhaps go further force-enable CONFIG_AEABI for ARMv6k and higher > (cmpxchg64() is broken on OABI too), and only include vhost if KVM > is enabled (KVM in turn requires ARMv7). I don't think it is correct to include vhost only if KVM is enabled. vhost is an implementation of virtio; it is usually used together with KVM but there's no dependency between the two. Paolo ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-07-04 11:06 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1467619946-424-1-git-send-email-geert@linux-m68k.org> 2016-07-04 8:21 ` Build regressions/improvements in v4.7-rc6 Geert Uytterhoeven 2016-07-04 9:17 ` Arnd Bergmann 2016-07-04 11:06 ` Paolo Bonzini
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).