From: Carsten Otte <cotte@de.ibm.com>
To: Nick Piggin <npiggin@suse.de>
Cc: Jared Hulbert <jaredeh@gmail.com>,
Linux Memory Management List <linux-mm@kvack.org>,
Martin Schwidefsky <martin.schwidefsky@de.ibm.com>
Subject: Re: [rfc][patch 2/2] xip: support non-struct page memory
Date: Thu, 20 Dec 2007 14:53:52 +0100 [thread overview]
Message-ID: <476A73F0.4070704@de.ibm.com> (raw)
In-Reply-To: <20071214134106.GC28555@wotan.suse.de>
Nick Piggin wrote:
> This is just a prototype for one possible way of supporting this. I may
> be missing some important detail or eg. have missed some requirement of the
> s390 XIP block device that makes the idea infeasible... comments?
I've tested things now without initialization of our struct page
entries for s390. This does'nt work out, as you can see below.
free_hot_cold_page apparently still uses the struct page behind our
shared memory segment.
Please don't get confused by the process name "mount": this is _not_
the mount that has mounted the xip file system but rather an elf
binary of /bin/mount [on ext3] which is linked against a library in
/usr/lib64 [on ext2 -o xip].
I'll drill down deeper here to see why it does'nt work as expected...
<6>extmem info:segment_load: loaded segment COTTE range
0000000020000000 .. 000000007fe00fff type SW in shared mode
<6>dcssblk info: Loaded segment COTTE, size = 1608519680 Byte,
capacity = 3141640 (512 Byte) sectors
<4>EXT2-fs warning: checktime reached, running e2fsck is recommended
<0>Bad page state in process 'mount'
<0>page:000003fffedd7a50 flags:0x0000000000000000
mapping:0000000000000000 mapcount:1 count:0
<0>Trying to fix it up, but a reboot is needed
<0>Backtrace:
<4>0000000000000000 000000000fbd5b58 0000000000000002
0000000000000000
<4> 000000000fbd5bf8 000000000fbd5b70 000000000fbd5b70
000000000012b882
<4> 0000000000000000 0000000000000000 000003fffe6f76f8
0000000000000000
<4> 0000000000000000 000000000fbd5b58 000000000000000d
000000000fbd5bc8
<4> 0000000000415f30 00000000001037b8 000000000fbd5b58
000000000fbd5ba0
<4>Call Trace:
<4>([<0000000000103736>] show_trace+0x12e/0x148)
<4> [<0000000000171e10>] bad_page+0x94/0xd0
<4> [<0000000000172c80>] free_hot_cold_page+0x218/0x230
<4> [<0000000000180082>] unmap_vmas+0x4e6/0xc50
<4> [<0000000000185fa0>] exit_mmap+0x128/0x408
<4> [<0000000000127e90>] mmput+0x70/0xe4
<4> [<000000000012f606>] do_exit+0x1b6/0x8ac
<4> [<000000000012fd48>] do_group_exit+0x4c/0xa4
<4> [<00000000001102b8>] sysc_noemu+0x10/0x16
<4> [<0000020000108272>] 0x20000108272
...and here the patch I use to get rid of the struct page entries in
our vmmem_map array:
---
Index: linux-2.6/arch/s390/mm/vmem.c
===================================================================
--- linux-2.6.orig/arch/s390/mm/vmem.c
+++ linux-2.6/arch/s390/mm/vmem.c
@@ -310,8 +310,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);
@@ -330,20 +328,6 @@ int add_shared_memory(unsigned long star
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:
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-12-20 13:53 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-14 13:38 [rfc][patch 1/2] mm: introduce VM_MIXEDMAP mappings Nick Piggin
2007-12-14 13:41 ` [rfc][patch 2/2] xip: support non-struct page memory Nick Piggin
2007-12-14 13:46 ` Carsten Otte
2007-12-15 1:07 ` Jared Hulbert
2007-12-15 1:17 ` Nick Piggin
2007-12-15 6:47 ` Jared Hulbert
2007-12-19 14:04 ` Carsten Otte
2007-12-20 9:23 ` Jared Hulbert
2007-12-21 0:40 ` Nick Piggin
2007-12-20 13:53 ` Carsten Otte [this message]
2007-12-20 14:33 ` Carsten Otte
2007-12-20 14:50 ` Carsten Otte
2007-12-20 17:24 ` Jared Hulbert
2007-12-21 0:12 ` Jared Hulbert
2007-12-21 0:56 ` Nick Piggin
2007-12-21 9:56 ` Carsten Otte
2007-12-21 9:49 ` Carsten Otte
2007-12-21 0:50 ` Nick Piggin
2007-12-21 10:02 ` Carsten Otte
2007-12-21 10:14 ` Nick Piggin
2007-12-21 10:17 ` Carsten Otte
2007-12-21 10:23 ` Nick Piggin
2007-12-21 10:31 ` Carsten Otte
2007-12-21 0:45 ` Nick Piggin
2007-12-21 10:05 ` Carsten Otte
2007-12-21 10:20 ` Nick Piggin
2007-12-21 10:35 ` Carsten Otte
2007-12-21 10:47 ` Nick Piggin
2007-12-21 19:29 ` Martin Schwidefsky
2008-01-07 4:43 ` [rfc][patch] mm: use a pte bit to flag normal pages Nick Piggin
2008-01-07 10:30 ` Russell King
2008-01-07 11:14 ` Nick Piggin
2008-01-07 18:49 ` Jared Hulbert
2008-01-07 19:45 ` Russell King
2008-01-07 22:52 ` Jared Hulbert
2008-01-08 2:37 ` Andi Kleen
2008-01-08 2:49 ` Nick Piggin
2008-01-08 3:31 ` Andi Kleen
2008-01-08 3:52 ` Nick Piggin
2008-01-08 10:11 ` Catalin Marinas
2008-01-08 10:52 ` Russell King
2008-01-08 13:54 ` Catalin Marinas
2008-01-08 14:08 ` Russell King
2008-01-10 13:33 ` Carsten Otte
2008-01-10 23:18 ` Nick Piggin
2008-01-08 9:35 ` [rfc][patch 0/4] VM_MIXEDMAP patchset with s390 backend Carsten Otte
2008-01-08 10:08 ` Nick Piggin
2008-01-08 11:34 ` Carsten Otte
2008-01-08 11:55 ` Nick Piggin
2008-01-08 12:03 ` Carsten Otte
2008-01-08 13:56 ` Jörn Engel
2008-01-08 14:51 ` Carsten Otte
2008-01-08 18:09 ` Jared Hulbert
2008-01-08 22:12 ` Nick Piggin
2008-01-09 15:14 ` [rfc][patch 0/4] VM_MIXEDMAP patchset with s390 backend v2 Carsten Otte
[not found] ` <1199891032.28689.9.camel@cotte.boeblingen.de.ibm.com>
2008-01-09 15:14 ` [rfc][patch 1/4] include: add callbacks to toggle reference counting for VM_MIXEDMAP pages Carsten Otte, Carsten Otte
2008-01-09 17:31 ` Martin Schwidefsky
2008-01-09 18:17 ` Jared Hulbert
2008-01-10 7:59 ` Carsten Otte
2008-01-10 20:01 ` Jared Hulbert
2008-01-11 8:45 ` Carsten Otte
2008-01-13 2:44 ` Nick Piggin
2008-01-14 11:36 ` Carsten Otte
2008-01-16 4:04 ` Nick Piggin
2008-01-15 13:05 ` Carsten Otte
2008-01-16 4:22 ` Nick Piggin
2008-01-16 14:29 ` [rft] updated xip patch rollup Nick Piggin
2008-01-17 10:24 ` Carsten Otte
2008-01-10 20:23 ` [rfc][patch 1/4] include: add callbacks to toggle reference counting for VM_MIXEDMAP pages Jared Hulbert
2008-01-11 8:32 ` Carsten Otte
2008-01-10 0:20 ` Nick Piggin
2008-01-10 8:06 ` Carsten Otte
2008-01-09 15:14 ` [rfc][patch 2/4] mm: introduce VM_MIXEDMAP Carsten Otte, Jared Hulbert, Carsten Otte
2008-01-09 15:14 ` [rfc][patch 3/4] Convert XIP to support non-struct page backed memory Carsten Otte, Nick Piggin
2008-01-09 15:14 ` [rfc][patch 4/4] s390: remove struct page entries for DCSS memory segments Carsten Otte, Carsten Otte
[not found] ` <1199784196.25114.11.camel@cotte.boeblingen.de.ibm.com>
2008-01-08 9:35 ` [rfc][patch 1/4] mm: introduce VM_MIXEDMAP Carsten Otte, Jared Hulbert, Carsten Otte
2008-01-08 9:35 ` [rfc][patch 2/4] xip: support non-struct page memory Carsten Otte, Nick Piggin, Carsten Otte
2008-01-08 9:36 ` [rfc][patch 3/4] s390: remove sturct page entries for z/VM DCSS memory segments Carsten Otte
2008-01-08 9:36 ` [rfc][patch 4/4] s390: mixedmap_refcount_pfn implementation using list walk Carsten Otte
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=476A73F0.4070704@de.ibm.com \
--to=cotte@de.ibm.com \
--cc=carsteno@de.ibm.com \
--cc=jaredeh@gmail.com \
--cc=linux-mm@kvack.org \
--cc=martin.schwidefsky@de.ibm.com \
--cc=npiggin@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).