On Fri, Jul 23, 2010 at 04:33:32PM +0200, Andi Kleen wrote: > > >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 I was thinking about this at some point. I think the first step is to make SWIOTLB use the debugfs to actually print out how much of its buffers are used - and see if the 64MB is a good fit. The shrinking part scares me - I think it might be more prudent to first explore on how to grow it. The big problem looks to allocate a physical contiguity set of pages. And I guess SWIOTLB would need to change from using one big region to something of a pool system? > allocator patchkit, > unfortunately that didn't go forward. I wasn't present at that time so I don't know what the issues were - you wouldn't have a link to LKML for this? -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html