[PATCH 1/2] kexec: remove unnecessary unusable_pages

From: zhongjiang
Date: Mon Jul 11 2016 - 02:42:07 EST


From: zhong jiang <zhongjiang@xxxxxxxxxx>

In general, kexec alloc pages from buddy system, it cannot exceed
the physical address in the system.

The patch just remove this code, no functional change.

Signed-off-by: zhong jiang <zhongjiang@xxxxxxxxxx>
---
include/linux/kexec.h | 1 -
kernel/kexec_core.c | 13 -------------
2 files changed, 14 deletions(-)

diff --git a/include/linux/kexec.h b/include/linux/kexec.h
index e8acb2b..26e4917 100644
--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -162,7 +162,6 @@ struct kimage {

struct list_head control_pages;
struct list_head dest_pages;
- struct list_head unusable_pages;

/* Address of next control page to allocate for crash kernels. */
unsigned long control_page;
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 56b3ed0..448127d 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -257,9 +257,6 @@ struct kimage *do_kimage_alloc_init(void)
/* Initialize the list of destination pages */
INIT_LIST_HEAD(&image->dest_pages);

- /* Initialize the list of unusable pages */
- INIT_LIST_HEAD(&image->unusable_pages);
-
return image;
}

@@ -517,10 +514,6 @@ static void kimage_free_extra_pages(struct kimage *image)
{
/* Walk through and free any extra destination pages I may have */
kimage_free_page_list(&image->dest_pages);
-
- /* Walk through and free any unusable pages I have cached */
- kimage_free_page_list(&image->unusable_pages);
-
}
void kimage_terminate(struct kimage *image)
{
@@ -647,12 +640,6 @@ static struct page *kimage_alloc_page(struct kimage *image,
page = kimage_alloc_pages(gfp_mask, 0);
if (!page)
return NULL;
- /* If the page cannot be used file it away */
- if (page_to_pfn(page) >
- (KEXEC_SOURCE_MEMORY_LIMIT >> PAGE_SHIFT)) {
- list_add(&page->lru, &image->unusable_pages);
- continue;
- }
addr = page_to_pfn(page) << PAGE_SHIFT;

/* If it is the destination page we want use it */
--
1.8.3.1