diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2018-01-12 23:34:16 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2018-01-12 23:34:16 +0000 |
commit | 6f4acaf4c9eaacdc7cfb8f804c45404d919ef45c (patch) | |
tree | fc9ef5cf44ac855b46fb178c136c3e063b27164d /sys/x86/include/busdma_impl.h | |
parent | ab3185d15ef8958b3a60325620460229f4ae07ce (diff) | |
download | src-6f4acaf4c9eaacdc7cfb8f804c45404d919ef45c.tar.gz src-6f4acaf4c9eaacdc7cfb8f804c45404d919ef45c.zip |
Add support for NUMA domains to bus dma tags. This causes all memory
allocated with a tag to come from the specified domain if it meets the
other constraints provided by the tag. Automatically create a tag at
the root of each bus specifying the domain local to that bus if
available.
Reviewed by: jhb, kib
Tested by: pho
Sponsored by: Netflix, Dell/EMC Isilon
Differential Revision: https://reviews.freebsd.org/D13545
Notes
Notes:
svn path=/head/; revision=327901
Diffstat (limited to 'sys/x86/include/busdma_impl.h')
-rw-r--r-- | sys/x86/include/busdma_impl.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/x86/include/busdma_impl.h b/sys/x86/include/busdma_impl.h index 7bddc84e233f..936f9055a3fb 100644 --- a/sys/x86/include/busdma_impl.h +++ b/sys/x86/include/busdma_impl.h @@ -50,6 +50,7 @@ struct bus_dma_tag_common { bus_dma_lock_t *lockfunc; void *lockfuncarg; int ref_count; + int domain; }; struct bus_dma_impl { @@ -60,6 +61,7 @@ struct bus_dma_impl { bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, void *lockfuncarg, bus_dma_tag_t *dmat); int (*tag_destroy)(bus_dma_tag_t dmat); + int (*tag_set_domain)(bus_dma_tag_t); int (*map_create)(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp); int (*map_destroy)(bus_dma_tag_t dmat, bus_dmamap_t map); int (*mem_alloc)(bus_dma_tag_t dmat, void** vaddr, int flags, |