Re: Kernel versions 6.x don't boot on Amiga 4000

2023-02-24 Thread Michael Schmitz

Hi Stephen, Adrian

the only commits to hit arch/m68k/mm between 5.15 and now are:

29f28f8b826d m68k: fix livelock in uaccess
6d0b92254510 m68k/mm: enable ARCH_HAS_VM_GET_PAGE_PROT
d92725256b4f mm: avoid unnecessary page fault retires on shared memory types
f95a387cdeb3 m68k: coldfire: drop ISA_DMA_API support
05d51e42df06 m68k: Introduce a virtual m68k machine
c4d5b6eef258 m68k: mm: Remove check for VM_IO to fix deferred I/O
36ef159f4408 mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit
0e25498f8cd4 exit: Add and use make_task_dead.
376e3fdecb0d m68k: Enable memtest functionality
952eea9b01e4 memblock: allow to specify flags with memblock_add_node()

The first is a fix for the second so these should be tested together. 
None appear suspect to me.


Running memtest could incur a boot delay but AFAIR that isn't enabled by 
default, and it isn't implicated in the panic log Adrian posted.


Cheers,

Michael

Am 24.02.2023 um 16:02 schrieb Michael Schmitz:

Hi Stephen,

that's apparently been corrected in later versions. Commit
ca831f29f8f25c97182e726429b38c0802200c8f (in from 5.17).

I doubt this would lead to different code generated.

Which was the first broken version you tried? That would narrow down the
search range considerably...

Cheers,

Michael




Am 24.02.2023 um 14:09 schrieb Stephen Walsh:

FYI:

Just caught this trying a re-compile of kernel 5.15.2 from kernel org,
under debbootstrap/sbuild and qemu-system-m68k both produce this issue:


  CC  mm/process_vm_access.o
  CC  mm/page_alloc.o
mm/page_alloc.c: In function ‘mem_init_print_info’:
mm/page_alloc.c:8163:27: warning: comparison between two arrays
[-Warray-compare]
 8163 | if (start <= pos && pos < end && size > adj) \
  |   ^~
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
 8167 | adj_init_size(__init_begin, __init_end, init_data_size,
  | ^
mm/page_alloc.c:8163:27: note: use ‘&__init_begin[0] <=
&_sinittext[0]’ to compare the addresses
 8163 | if (start <= pos && pos < end && size > adj) \
  |   ^~
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
 8167 | adj_init_size(__init_begin, __init_end, init_data_size,
  | ^
mm/page_alloc.c:8163:41: warning: comparison between two arrays
[-Warray-compare]
 8163 | if (start <= pos && pos < end && size > adj) \
  | ^
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
 8167 | adj_init_size(__init_begin, __init_end, init_data_size,
  | ^
mm/page_alloc.c:8163:41: note: use ‘&_sinittext[0] < &__init_end[0]’
to compare the addresses
 8163 | if (start <= pos && pos < end && size > adj) \
  | ^
mm/page_alloc.c:8167:9: note: in expansion of macro ‘adj_init_size’
 8167 | adj_init_size(__init_begin, __init_end, init_data_size,
  | ^
mm/page_alloc.c:8163:27: warning: comparison between two arrays
[-Warray-compare]
 8163 | if (start <= pos && pos < end && size > adj) \
  |   ^~
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
 8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
  | ^
mm/page_alloc.c:8163:27: note: use ‘&_stext[0] <= &_sinittext[0]’ to
compare the addresses
 8163 | if (start <= pos && pos < end && size > adj) \
  |   ^~
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
 8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
  | ^
mm/page_alloc.c:8163:41: warning: comparison between two arrays
[-Warray-compare]
 8163 | if (start <= pos && pos < end && size > adj) \
  | ^
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
 8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
  | ^
mm/page_alloc.c:8163:41: note: use ‘&_sinittext[0] < &_etext[0]’ to
compare the addresses
 8163 | if (start <= pos && pos < end && size > adj) \
  | ^
mm/page_alloc.c:8169:9: note: in expansion of macro ‘adj_init_size’
 8169 | adj_init_size(_stext, _etext, codesize, _sinittext,
init_code_size);
  | ^
mm/page_alloc.c:8163:27: warning: comparison between two arrays
[-Warray-compare]
 8163 | if (start <= pos && pos < end && size > adj) \
  |   ^~
mm/page_alloc.c:8170:9: note: in expansion of macro ‘adj_init_size’
 8170 | adj_init_size(_sdata, _edata, datasize, __init_begin,
init_data_size);
  | ^

Re: Kernel versions 6.x don't boot on Amiga 4000

2023-02-24 Thread John Paul Adrian Glaubitz
Hi Michael!

On Sat, 2023-02-25 at 08:39 +1300, Michael Schmitz wrote:
> the only commits to hit arch/m68k/mm between 5.15 and now are:
> 
> 29f28f8b826d m68k: fix livelock in uaccess
> 6d0b92254510 m68k/mm: enable ARCH_HAS_VM_GET_PAGE_PROT
> d92725256b4f mm: avoid unnecessary page fault retires on shared memory types
> f95a387cdeb3 m68k: coldfire: drop ISA_DMA_API support
> 05d51e42df06 m68k: Introduce a virtual m68k machine
> c4d5b6eef258 m68k: mm: Remove check for VM_IO to fix deferred I/O
> 36ef159f4408 mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit
> 0e25498f8cd4 exit: Add and use make_task_dead.
> 376e3fdecb0d m68k: Enable memtest functionality
> 952eea9b01e4 memblock: allow to specify flags with memblock_add_node()
> 
> The first is a fix for the second so these should be tested together. 
> None appear suspect to me.
> 
> Running memtest could incur a boot delay but AFAIR that isn't enabled by 
> default, and it isn't implicated in the panic log Adrian posted.

I don't have time this weekend to bisect the issue. But I think, I can start
bisecting it on Sunday evening. I will give it a try on Amiga Forever.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Re: Kernel versions 6.x don't boot on Amiga 4000

2023-02-24 Thread Michael Schmitz

Hi Adrian,

Am 25.02.2023 um 08:49 schrieb John Paul Adrian Glaubitz:

Hi Michael!

On Sat, 2023-02-25 at 08:39 +1300, Michael Schmitz wrote:

the only commits to hit arch/m68k/mm between 5.15 and now are:

29f28f8b826d m68k: fix livelock in uaccess
6d0b92254510 m68k/mm: enable ARCH_HAS_VM_GET_PAGE_PROT
d92725256b4f mm: avoid unnecessary page fault retires on shared memory types
f95a387cdeb3 m68k: coldfire: drop ISA_DMA_API support
05d51e42df06 m68k: Introduce a virtual m68k machine
c4d5b6eef258 m68k: mm: Remove check for VM_IO to fix deferred I/O
36ef159f4408 mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit
0e25498f8cd4 exit: Add and use make_task_dead.
376e3fdecb0d m68k: Enable memtest functionality
952eea9b01e4 memblock: allow to specify flags with memblock_add_node()

The first is a fix for the second so these should be tested together.
None appear suspect to me.

Running memtest could incur a boot delay but AFAIR that isn't enabled by
default, and it isn't implicated in the panic log Adrian posted.


I don't have time this weekend to bisect the issue. But I think, I can start
bisecting it on Sunday evening. I will give it a try on Amiga Forever.


I had hoped we could maybe narrow down the range to bisect by compile... 
As it stands, testing each Debian kernel image released since 5.15.2 
already requires a bisect approach so you indeed have your work cut out 
for you.


Let me know what you find - the list of commits in mm/ is too huge to 
contemplate in its entirety but might be easier to digest from one 
release to another.


Cheers,

Michael




Adrian