Re: swiotlb detection should be memory hotplug aware ?

From: Andi Kleen
Date: Fri Jul 23 2010 - 10:33:43 EST



I thought SRAT has NUMA affinity information - so for example my AMD
desktop box has that, but it does not support hotplug capability.

I think first your 'hotplug_possible' code needs to be more specific -
not just check if SRAT exists, but also if there are swaths of memory
that are non-populated. It would also help if there was some indication
of whether the box truly does a hardware hotplug - is there a way to do
this?

The SRAT declares hotplug memory ranges in advance. And Linux already uses this
information in the SRAT parser (just the code for doing this is a bit dumb, I have a rewrite
somewhere)

The only drawback is that some older systems claimed to have large hotplug memory ranges
when they didn't actually support it. So it's better to not do anything with a lot
of overhead.

So yes it would be reasonable to let swiotlb (and possibly other code sizing itself
based on memory) call into the SRAT parser and check the hotplug ranges too.

BTW longer term swiotlb should be really more dynamic anyways and grow
and shrink on demand. I attempted this some time ago with my DMA allocator patchkit,
unfortunately that didn't go forward.

-Andi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/