numa_internal.h 889 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef __X86_MM_NUMA_INTERNAL_H
  2. #define __X86_MM_NUMA_INTERNAL_H
  3. #include <linux/types.h>
  4. #include <asm/numa.h>
  5. struct numa_memblk {
  6. u64 start;
  7. u64 end;
  8. int nid;
  9. };
  10. struct numa_meminfo {
  11. int nr_blks;
  12. struct numa_memblk blk[NR_NODE_MEMBLKS];
  13. };
  14. void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi);
  15. int __init numa_cleanup_meminfo(struct numa_meminfo *mi);
  16. void __init numa_reset_distance(void);
  17. void __init x86_numa_init(void);
  18. #ifdef CONFIG_X86_64
  19. static inline void init_alloc_remap(int nid, u64 start, u64 end) { }
  20. #else
  21. void __init init_alloc_remap(int nid, u64 start, u64 end);
  22. #endif
  23. #ifdef CONFIG_NUMA_EMU
  24. void __init numa_emulation(struct numa_meminfo *numa_meminfo,
  25. int numa_dist_cnt);
  26. #else
  27. static inline void numa_emulation(struct numa_meminfo *numa_meminfo,
  28. int numa_dist_cnt)
  29. { }
  30. #endif
  31. #endif /* __X86_MM_NUMA_INTERNAL_H */