traversing vma on nommu

Liam R. Howlett Liam.Howlett at oracle.com
Thu Nov 7 04:13:38 PST 2024


* Hajime Tazaki <thehajime at gmail.com> [241107 00:47]:
> 
> On Thu, 07 Nov 2024 14:40:41 +0900,
> Hajime Tazaki wrote:
> 
> > > > We have 32b testing in userspace for the maple tree, and it works.
> > > > maple_tree: 139594121 of 139594121 tests passed
> > > > 
> > > > So at least that much is known to work.
> > > > 
> > > > As you are probably finding out, building a nommu test system is a pain
> > > > (or you probably already know and want to stop doing it and use UML..).
> > > > 
> > > > I'll give my m68k build a go against v6.12-rc6.
> > >
> > > I was able to build 6.12.0-rc6 for m68k nommu (m5208).  It boots and
> > > tests the maple tree fine:
> > > 
> > > TEST STARTING
> > > 
> > > maple_tree: 3808238 of 3808238 tests passed
> > > 
> > > # uname -a
> > > uClinux buildroot 6.12.0-rc6 #2 Wed Nov  6 22:14:42 EST 2024 m68k GNU/Linux
> > 
> > thanks.
> > 
> > I have also tested with riscv64 nommu arch with buildroot but wasn't
> > seeing any issues so far (tested with "ip" command, etc).
> > 
> > ~ # uname -a
> > Linux buildroot 6.12.0-rc2 #1 Wed Nov  6 17:09:21 JST 2024 riscv64 GNU/Linux
> > 
> > I'd also like to test with what you've done: how can I test to
> > generate the message below ?
> > 
> > > maple_tree: 3808238 of 3808238 tests passed
> 
> I managed to test it with "CONFIG_TEST_MAPLE_TREE=y" added to the
> config.
> 
> ```
> TEST STARTING
> 
> maple_tree: 172860277 of 172860277 tests passed
> ```
> 
> looks fine for me.
> 
> # sorry for the noise.
> 
> btw, I dunno if it's related or not, but you mentioned 32b in the
> below, does it mean 32-bit architecture, or 32-bit values ?
> 
> > > > We have 32b testing in userspace for the maple tree, and it works.
> 
> as our nommu port on UML is based on 64-bit architecture and not
> intended to use 32-bit address.

The maple tree changes the type based on arch as it is defined as
unsigned long and void * pointers.

Your output had nodes that looked 32bit:
0-ffffffffffffffff: node 00000000deda9c22 depth 0 type 1 parent 0000000053daa24c contents: 0000000000000000 60A3FFFF 00000000d37ec2dc 60A5FFFF 0000000000000000 60BF5FFF 00000000f4feff70 60BF7FFF 0000000000000000 60CFFFFF 000000000d0953c6 60DEFFFF 0000000000000000 60DFFFFF 00000000c4c98641 60EA2FFF 0000000000000000 FFFFFFFFFFFFFFFF 0000000000000000 0 0000000000000000 0 0000000000000000 0 0000000000000000 0 0000000000000000 0 0000000000000000 0 000000000a432378
  0-60a3ffff: 0000000000000000
  60a40000-60a5ffff: 00000000d37ec2dc
  60a60000-60bf5fff: 0000000000000000
  60bf6000-60bf7fff: 00000000f4feff70
  60bf8000-60cfffff: 0000000000000000
  60d00000-60deffff: 000000000d0953c6
  60df0000-60dfffff: 0000000000000000
  60e00000-60ea2fff: 00000000c4c98641
  60ea3000-ffffffffffffffff: 0000000000000000

But looking again, the range is 64b, it's just that the addresses are
much lower than I'm used to seeing in dumps.

Thanks,
Liam



More information about the maple-tree mailing list