From: Carsten Otte Remove struct page entries for DCSS segments that are being loaded. They can still be accessed correctly, thanks to the struct page-less XIP work of previous patches. Signed-off-by: Carsten Otte Cc: Nick Piggin Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton --- arch/s390/mm/vmem.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff -puN arch/s390/mm/vmem.c~s390-remove-struct-page-entries-for-dcss-memory-segments arch/s390/mm/vmem.c --- a/arch/s390/mm/vmem.c~s390-remove-struct-page-entries-for-dcss-memory-segments +++ a/arch/s390/mm/vmem.c @@ -343,8 +343,6 @@ out: int add_shared_memory(unsigned long start, unsigned long size) { struct memory_segment *seg; - struct page *page; - unsigned long pfn, num_pfn, end_pfn; int ret; mutex_lock(&vmem_mutex); @@ -359,24 +357,10 @@ int add_shared_memory(unsigned long star if (ret) goto out_free; - ret = vmem_add_mem(start, size, 0); + ret = vmem_add_range(start, size, 0); if (ret) goto out_remove; - pfn = PFN_DOWN(start); - num_pfn = PFN_DOWN(size); - end_pfn = pfn + num_pfn; - - page = pfn_to_page(pfn); - memset(page, 0, num_pfn * sizeof(struct page)); - - for (; pfn < end_pfn; pfn++) { - page = pfn_to_page(pfn); - init_page_count(page); - reset_page_mapcount(page); - SetPageReserved(page); - INIT_LIST_HEAD(&page->lru); - } goto out; out_remove: _