diff options
author | Daniel Kiper <dkiper@net-space.pl> | 2011-05-24 17:12:51 -0700 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2016-01-29 22:12:58 +0100 |
commit | 73734375c75ef304e2b4629bc48af9031be6f672 (patch) | |
tree | 85a27a8c2a6717c24478b89b69fb797e7ac557bd | |
parent | 5a7fbabb106b0ba1b30921537f2e5928e153bdf3 (diff) | |
download | linux-stable-73734375c75ef304e2b4629bc48af9031be6f672.tar.gz linux-stable-73734375c75ef304e2b4629bc48af9031be6f672.tar.bz2 linux-stable-73734375c75ef304e2b4629bc48af9031be6f672.zip |
mm: add SECTION_ALIGN_UP() and SECTION_ALIGN_DOWN() macro
commit a539f3533b78e39a22723d6d3e1e11b6c14454d9 upstream.
Add SECTION_ALIGN_UP() and SECTION_ALIGN_DOWN() macro which aligns given
pfn to upper section and lower section boundary accordingly.
Required for the latest memory hotplug support for the Xen balloon driver.
Signed-off-by: Daniel Kiper <dkiper@net-space.pl>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[wt: only needed for next patch]
Signed-off-by: Willy Tarreau <w@1wt.eu>
-rw-r--r-- | include/linux/mmzone.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 6c31a2a7c18d..0828194bf4e7 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -960,6 +960,12 @@ static inline unsigned long early_pfn_to_nid(unsigned long pfn) #error Allocator MAX_ORDER exceeds SECTION_SIZE #endif +#define pfn_to_section_nr(pfn) ((pfn) >> PFN_SECTION_SHIFT) +#define section_nr_to_pfn(sec) ((sec) << PFN_SECTION_SHIFT) + +#define SECTION_ALIGN_UP(pfn) (((pfn) + PAGES_PER_SECTION - 1) & PAGE_SECTION_MASK) +#define SECTION_ALIGN_DOWN(pfn) ((pfn) & PAGE_SECTION_MASK) + struct page; struct page_cgroup; struct mem_section { |