linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: Tree for Sep 30
@ 2022-09-30 15:47 broonie
  2022-10-01 21:25 ` linux-next: Tree for Sep 30 (i386 non-SMP non-APIC w/ IRQ_DOMAIN: build errors) Randy Dunlap
  2022-10-03  4:47 ` linux-next: Tree for Sep 30 Stephen Rothwell
  0 siblings, 2 replies; 5+ messages in thread
From: broonie @ 2022-09-30 15:47 UTC (permalink / raw)
  To: Linux Next Mailing List; +Cc: Linux Kernel Mailing List

Hi all,

Stephen should be back on Monday and normal service resumed.

Changes since 20220929:

The DRM trees gained even more conflicts with each other.

The drm tree gained a build failure for which I reverted a commit.

Non-merge commits (relative to Linus' tree): 10821
 11304 files changed, 602373 insertions(+), 231016 deletions(-)

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ).  If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one.  You should use "git fetch" and checkout or reset to the new
master.

You can see which trees have been included by looking in the Next/Trees
file in the source.  There are also quilt-import.log and merge.log
files in the Next directory.  Between each merge, the tree was built
with a ppc64_defconfig for powerpc, an allmodconfig for x86_64, a
multi_v7_defconfig for arm and a native build of tools/perf. After
the final fixups (if any), I do an x86_64 modules_install followed by
builds for x86_64 allnoconfig, powerpc allnoconfig (32 and 64 bit),
ppc44x_defconfig, allyesconfig and pseries_le_defconfig and i386,
arm64, sparc and sparc64 defconfig and htmldocs. And finally, a simple
boot test of the powerpc pseries_le_defconfig kernel in qemu (with and
without kvm enabled).

Below is a summary of the state of the merge.

I am currently merging 362 trees (counting Linus' and 100 trees of bug
fix patches pending for the current merge release).

Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next .  If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Randy Dunlap for doing many randconfig builds.  And to Paul
Gortmaker for triage and bug fixes.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: linux-next: Tree for Sep 30 (i386 non-SMP non-APIC w/ IRQ_DOMAIN: build errors)
  2022-09-30 15:47 linux-next: Tree for Sep 30 broonie
@ 2022-10-01 21:25 ` Randy Dunlap
  2022-10-03 18:26   ` Marc Zyngier
  2022-10-03  4:47 ` linux-next: Tree for Sep 30 Stephen Rothwell
  1 sibling, 1 reply; 5+ messages in thread
From: Randy Dunlap @ 2022-10-01 21:25 UTC (permalink / raw)
  To: broonie, Linux Next Mailing List
  Cc: Linux Kernel Mailing List, Marc Zyngier, Thomas Gleixner

[-- Attachment #1: Type: text/plain, Size: 5385 bytes --]

Hi--

On 9/30/22 08:47, broonie@kernel.org wrote:
> Hi all,
> 
> Stephen should be back on Monday and normal service resumed.
> 
> Changes since 20220929:
> 

i386 randconfig:

# CONFIG_SMP is not set
# CONFIG_X86_UP_APIC is not set
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_SIM=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y


(a)
  CC      drivers/phy/phy-can-transceiver.o
In file included from ../include/asm-generic/gpio.h:11,
                 from ../include/linux/gpio.h:62,
                 from ../drivers/phy/phy-can-transceiver.c:11:
../include/linux/gpio/driver.h:31:33: error: field ‘msiinfo’ has incomplete type
   31 |         msi_alloc_info_t        msiinfo;
      |             

(b)
  CC      arch/x86/kernel/hpet.o
../arch/x86/kernel/hpet.c: In function ‘hpet_msi_init’:
../arch/x86/kernel/hpet.c:520:46: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
  520 |         irq_domain_set_info(domain, virq, arg->hwirq, info->chip, NULL,
      |                                              ^~
../arch/x86/kernel/hpet.c:521:49: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
  521 |                             handle_edge_irq, arg->data, "edge");
      |                                                 ^~
  CC      fs/jfs/jfs_xtree.o
../arch/x86/kernel/hpet.c: In function ‘hpet_create_irq_domain’:
../arch/x86/kernel/hpet.c:550:13: error: ‘x86_vector_domain’ undeclared (first use in this function)
  550 |         if (x86_vector_domain == NULL)
      |             ^~~~~~~~~~~~~~~~~
../arch/x86/kernel/hpet.c:550:13: note: each undeclared identifier is reported only once for each function it appears in
../arch/x86/kernel/hpet.c: In function ‘hpet_assign_irq’:
../arch/x86/kernel/hpet.c:598:31: error: storage size of ‘info’ isn’t known
  598 |         struct irq_alloc_info info;
      |                               ^~~~
../arch/x86/kernel/hpet.c:600:9: error: implicit declaration of function ‘init_irq_alloc_info’ [-Werror=implicit-function-declaration]
  600 |         init_irq_alloc_info(&info, NULL);
      |         ^~~~~~~~~~~~~~~~~~~
../arch/x86/kernel/hpet.c:601:21: error: ‘X86_IRQ_ALLOC_TYPE_HPET’ undeclared (first use in this function)
  601 |         info.type = X86_IRQ_ALLOC_TYPE_HPET;
      |                     ^~~~~~~~~~~~~~~~~~~~~~~
../arch/x86/kernel/hpet.c:598:31: warning: unused variable ‘info’ [-Wunused-variable]
  598 |         struct irq_alloc_info info;
      |                               ^~~~
../arch/x86/kernel/hpet.c:607:1: error: control reaches end of non-void function [-Werror=return-type]
  607 | }
      | ^


(c)
  CC      kernel/irq/msi.o
../kernel/irq/msi.c: In function ‘msi_domain_ops_get_hwirq’:
../kernel/irq/msi.c:585:19: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
  585 |         return arg->hwirq;
      |                   ^~
In file included from ../arch/x86/include/asm/string.h:3,
                 from ../include/linux/string.h:20,
                 from ../arch/x86/include/asm/page_32.h:22,
                 from ../arch/x86/include/asm/page.h:14,
                 from ../arch/x86/include/asm/thread_info.h:12,
                 from ../include/linux/thread_info.h:60,
                 from ../arch/x86/include/asm/preempt.h:7,
                 from ../include/linux/preempt.h:78,
                 from ../include/linux/rcupdate.h:27,
                 from ../include/linux/rculist.h:11,
                 from ../include/linux/pid.h:5,
                 from ../include/linux/sched.h:14,
                 from ../include/linux/ratelimit.h:6,
                 from ../include/linux/dev_printk.h:16,
                 from ../include/linux/device.h:15,
                 from ../kernel/irq/msi.c:12:
../kernel/irq/msi.c: In function ‘msi_domain_ops_prepare’:
../kernel/irq/msi.c:591:30: error: invalid application of ‘sizeof’ to incomplete type ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
  591 |         memset(arg, 0, sizeof(*arg));
      |                              ^
../arch/x86/include/asm/string_32.h:195:52: note: in definition of macro ‘memset’
  195 | #define memset(s, c, count) __builtin_memset(s, c, count)
      |                                                    ^~~~~
../kernel/irq/msi.c: In function ‘msi_domain_ops_set_desc’:
../kernel/irq/msi.c:598:12: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
  598 |         arg->desc = desc;
      |            ^~
../kernel/irq/msi.c: In function ‘__msi_domain_alloc_irqs’:
../kernel/irq/msi.c:858:9: error: variable ‘arg’ has initializer but incomplete type
  858 |         msi_alloc_info_t arg = { };
      |         ^~~~~~~~~~~~~~~~
../kernel/irq/msi.c:858:26: error: storage size of ‘arg’ isn’t known
  858 |         msi_alloc_info_t arg = { };
      |                          ^~~
../kernel/irq/msi.c:858:26: warning: unused variable ‘arg’ [-Wunused-variable]
  CC      lib/clz_tab.o
../kernel/irq/msi.c: In function ‘msi_domain_ops_get_hwirq’:
../kernel/irq/msi.c:586:1: error: control reaches end of non-void function [-Werror=return-type]
  586 | }
      | ^



Full randconfig file is attached.

-- 
~Randy

[-- Attachment #2: config-r6305.gz --]
[-- Type: application/gzip, Size: 33037 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: linux-next: Tree for Sep 30
  2022-09-30 15:47 linux-next: Tree for Sep 30 broonie
  2022-10-01 21:25 ` linux-next: Tree for Sep 30 (i386 non-SMP non-APIC w/ IRQ_DOMAIN: build errors) Randy Dunlap
@ 2022-10-03  4:47 ` Stephen Rothwell
  1 sibling, 0 replies; 5+ messages in thread
From: Stephen Rothwell @ 2022-10-03  4:47 UTC (permalink / raw)
  Cc: broonie, Linux Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 382 bytes --]

Hi all,

On Fri, 30 Sep 2022 16:47:10 +0100 broonie@kernel.org wrote:
>
> Stephen should be back on Monday and normal service resumed.

Normal service will resume tomorrow (as today is a public holiday here)
so there will be no linux-next release today.

I would like to publicly thank Mark for taking up the burden of
linux-next again.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: linux-next: Tree for Sep 30 (i386 non-SMP non-APIC w/ IRQ_DOMAIN: build errors)
  2022-10-01 21:25 ` linux-next: Tree for Sep 30 (i386 non-SMP non-APIC w/ IRQ_DOMAIN: build errors) Randy Dunlap
@ 2022-10-03 18:26   ` Marc Zyngier
  2022-10-03 21:19     ` Borislav Petkov
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Zyngier @ 2022-10-03 18:26 UTC (permalink / raw)
  To: Randy Dunlap, Thomas Gleixner, Borislav Petkov
  Cc: broonie, Linux Next Mailing List, Linux Kernel Mailing List, x86

+ Borislav and the x86 mailing list

On Sat, 01 Oct 2022 22:25:37 +0100,
Randy Dunlap <rdunlap@infradead.org> wrote:
> 
> Hi--
> 
> On 9/30/22 08:47, broonie@kernel.org wrote:
> > Hi all,
> > 
> > Stephen should be back on Monday and normal service resumed.
> > 
> > Changes since 20220929:
> > 
> 
> i386 randconfig:
> 
> # CONFIG_SMP is not set
> # CONFIG_X86_UP_APIC is not set
> CONFIG_IRQ_DOMAIN=y
> CONFIG_IRQ_SIM=y
> CONFIG_IRQ_DOMAIN_HIERARCHY=y
> CONFIG_GENERIC_MSI_IRQ=y
> CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
> 
> 
> (a)
>   CC      drivers/phy/phy-can-transceiver.o
> In file included from ../include/asm-generic/gpio.h:11,
>                  from ../include/linux/gpio.h:62,
>                  from ../drivers/phy/phy-can-transceiver.c:11:
> ../include/linux/gpio/driver.h:31:33: error: field ‘msiinfo’ has incomplete type
>    31 |         msi_alloc_info_t        msiinfo;
>       |

There is plenty of similar issues with drivers/gpio.

This looks like x86 without APIC support lacks a proper definition of
'struct irq_alloc_info'. I can make one up to get things to compile,
but I wonder if that makes any sense the first place.

[warning: anything below only shows that I know nothing about x86]

Can x86 practically deal with MSIs without the APIC? If not, we should
instead find a way to forbid MSIs when APIC isn't selected. Or make
APIC support mandatory.

> 
> (b)
>   CC      arch/x86/kernel/hpet.o
> ../arch/x86/kernel/hpet.c: In function ‘hpet_msi_init’:
> ../arch/x86/kernel/hpet.c:520:46: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
>   520 |         irq_domain_set_info(domain, virq, arg->hwirq, info->chip, NULL,
>       |                                              ^~
> ../arch/x86/kernel/hpet.c:521:49: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
>   521 |                             handle_edge_irq, arg->data, "edge");
>       |                                                 ^~
>   CC      fs/jfs/jfs_xtree.o
> ../arch/x86/kernel/hpet.c: In function ‘hpet_create_irq_domain’:
> ../arch/x86/kernel/hpet.c:550:13: error: ‘x86_vector_domain’ undeclared (first use in this function)
>   550 |         if (x86_vector_domain == NULL)
>       |             ^~~~~~~~~~~~~~~~~
> ../arch/x86/kernel/hpet.c:550:13: note: each undeclared identifier is reported only once for each function it appears in
> ../arch/x86/kernel/hpet.c: In function ‘hpet_assign_irq’:
> ../arch/x86/kernel/hpet.c:598:31: error: storage size of ‘info’ isn’t known
>   598 |         struct irq_alloc_info info;
>       |                               ^~~~
> ../arch/x86/kernel/hpet.c:600:9: error: implicit declaration of function ‘init_irq_alloc_info’ [-Werror=implicit-function-declaration]
>   600 |         init_irq_alloc_info(&info, NULL);
>       |         ^~~~~~~~~~~~~~~~~~~
> ../arch/x86/kernel/hpet.c:601:21: error: ‘X86_IRQ_ALLOC_TYPE_HPET’ undeclared (first use in this function)
>   601 |         info.type = X86_IRQ_ALLOC_TYPE_HPET;
>       |                     ^~~~~~~~~~~~~~~~~~~~~~~
> ../arch/x86/kernel/hpet.c:598:31: warning: unused variable ‘info’ [-Wunused-variable]
>   598 |         struct irq_alloc_info info;
>       |                               ^~~~
> ../arch/x86/kernel/hpet.c:607:1: error: control reaches end of non-void function [-Werror=return-type]
>   607 | }
>       | ^

Same question: is HPET usable without the APIC? If so, the MSI part
should probably be guarded by something else.

> 
> 
> (c)
>   CC      kernel/irq/msi.o
> ../kernel/irq/msi.c: In function ‘msi_domain_ops_get_hwirq’:
> ../kernel/irq/msi.c:585:19: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
>   585 |         return arg->hwirq;
>       |                   ^~
> In file included from ../arch/x86/include/asm/string.h:3,
>                  from ../include/linux/string.h:20,
>                  from ../arch/x86/include/asm/page_32.h:22,
>                  from ../arch/x86/include/asm/page.h:14,
>                  from ../arch/x86/include/asm/thread_info.h:12,
>                  from ../include/linux/thread_info.h:60,
>                  from ../arch/x86/include/asm/preempt.h:7,
>                  from ../include/linux/preempt.h:78,
>                  from ../include/linux/rcupdate.h:27,
>                  from ../include/linux/rculist.h:11,
>                  from ../include/linux/pid.h:5,
>                  from ../include/linux/sched.h:14,
>                  from ../include/linux/ratelimit.h:6,
>                  from ../include/linux/dev_printk.h:16,
>                  from ../include/linux/device.h:15,
>                  from ../kernel/irq/msi.c:12:
> ../kernel/irq/msi.c: In function ‘msi_domain_ops_prepare’:
> ../kernel/irq/msi.c:591:30: error: invalid application of ‘sizeof’ to incomplete type ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
>   591 |         memset(arg, 0, sizeof(*arg));
>       |                              ^
> ../arch/x86/include/asm/string_32.h:195:52: note: in definition of macro ‘memset’
>   195 | #define memset(s, c, count) __builtin_memset(s, c, count)
>       |                                                    ^~~~~
> ../kernel/irq/msi.c: In function ‘msi_domain_ops_set_desc’:
> ../kernel/irq/msi.c:598:12: error: invalid use of incomplete typedef ‘msi_alloc_info_t’ {aka ‘struct irq_alloc_info’}
>   598 |         arg->desc = desc;
>       |            ^~
> ../kernel/irq/msi.c: In function ‘__msi_domain_alloc_irqs’:
> ../kernel/irq/msi.c:858:9: error: variable ‘arg’ has initializer but incomplete type
>   858 |         msi_alloc_info_t arg = { };
>       |         ^~~~~~~~~~~~~~~~
> ../kernel/irq/msi.c:858:26: error: storage size of ‘arg’ isn’t known
>   858 |         msi_alloc_info_t arg = { };
>       |                          ^~~
> ../kernel/irq/msi.c:858:26: warning: unused variable ‘arg’ [-Wunused-variable]
>   CC      lib/clz_tab.o
> ../kernel/irq/msi.c: In function ‘msi_domain_ops_get_hwirq’:
> ../kernel/irq/msi.c:586:1: error: control reaches end of non-void function [-Werror=return-type]
>   586 | }
>       | ^

This is related to (a).

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: linux-next: Tree for Sep 30 (i386 non-SMP non-APIC w/ IRQ_DOMAIN: build errors)
  2022-10-03 18:26   ` Marc Zyngier
@ 2022-10-03 21:19     ` Borislav Petkov
  0 siblings, 0 replies; 5+ messages in thread
From: Borislav Petkov @ 2022-10-03 21:19 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: Randy Dunlap, Thomas Gleixner, broonie, Linux Next Mailing List,
	Linux Kernel Mailing List, x86

On Mon, Oct 03, 2022 at 07:26:29PM +0100, Marc Zyngier wrote:
> Can x86 practically deal with MSIs without the APIC? If not, we should
> instead find a way to forbid MSIs when APIC isn't selected. Or make
> APIC support mandatory.

Well, you need the local APIC in order to send MSIs, that's why
X86_LOCAL_APIC depends on PCI_MSI.

I'll have a look at that .config tomorrow.

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-10-03 21:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-30 15:47 linux-next: Tree for Sep 30 broonie
2022-10-01 21:25 ` linux-next: Tree for Sep 30 (i386 non-SMP non-APIC w/ IRQ_DOMAIN: build errors) Randy Dunlap
2022-10-03 18:26   ` Marc Zyngier
2022-10-03 21:19     ` Borislav Petkov
2022-10-03  4:47 ` linux-next: Tree for Sep 30 Stephen Rothwell

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).