[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] DMA restriction and NUMA node number
Hi, I am doing some NUMA testing on Xen. And I find the DMA restriction is based on NUMA node number [1]. if ( !dma_bitsize && (num_online_nodes() > 1) ) dma_bitsize = arch_get_dma_bitsize(); On Arm64, we will set dma_bitsize [2] to 0, that means we don't need to reserve DMA memory. But when num_online_nodes > 1, the dma_bitsize will override to 32. This may be caused by the Arm64 version arch_get_dma_bitsize, it may be a simple implementation and not NUMA aware. But I still quite curious about why DMA restriction depends on NUMA node number. In Arm64, dma_bitsize does not change when the NUMA node changes. So we didn't expect arch_get_dma_bitsize to be called here. I copied Keir's commit message from 2008. It seems this code was considered only for x86, when he was working on it. But I'm not an x86 expert, so I hope Xen x86 folks can give some help. Understanding this will help us to do some adaptations to Arm in subsequent modifications : ) commit accacb43cb7f16e9d1d8c0e58ea72c9d0c32cec2 Author: Keir Fraser <keir.fraser@xxxxxxxxxx> Date: Mon Jul 28 16:40:30 2008 +0100 Simplify 'dma heap' logic. 1. Only useful for NUMA systems, so turn it off on non-NUMA systems by default. 2. On NUMA systems, by default relate the DMA heap size to NUMA node 0 memory size (so that not all of node 0's memory ends up being 'DMA heap'). 3. Remove the 'dma emergency pool'. It's less useful now that running out of low memory isn;t as fatal as it used to be (e.g., when we needed to be able to allocate low-memory PAE page directories). [1] https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/page_alloc.c;h=958ba0cd9256c8270e38585d272be2bf5cc0679e;hb=refs/heads/master#l1876 [2] https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/page_alloc.c;h=958ba0cd9256c8270e38585d272be2bf5cc0679e;hb=refs/heads/master#l226 -- Cheers, Wei Chen IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |