|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH 10/10] xfs: eagerly remove vmap mappings to avoid ups
To: |
LKML <linux-kernel@xxxxxxxxxxxxxxx> |
Subject: |
[Xen-devel] [PATCH 10/10] xfs: eagerly remove vmap mappings to avoid upsetting Xen |
From: |
Jeremy Fitzhardinge <jeremy@xxxxxxxx> |
Date: |
Fri, 12 Oct 2007 14:11:42 -0700 |
Cc: |
xen-devel@xxxxxxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxx, Mark Williamson <mark.williamson@xxxxxxxxxxxx>, XFS masters <xfs-masters@xxxxxxxxxxx>, Chris Wright <chrisw@xxxxxxxxxxxx>, Andi Kleen <ak@xxxxxx>, Morten Bøgeskov <xen-users@xxxxxxxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir@xxxxxxxxxxxxx>, Stable kernel <stable@xxxxxxxxxx> |
Delivery-date: |
Fri, 12 Oct 2007 14:37:55 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxx |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<20071012211132.198718000@xxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
quilt/0.46-1 |
XFS leaves stray mappings around when it vmaps memory to make it
virtually contigious. This upsets Xen if one of those pages is being
recycled into a pagetable, since it finds an extra writable mapping of
the page.
This patch solves the problem in a brute force way, by making XFS
always eagerly unmap its mappings.
[ Stable: This works around a bug in 2.6.23. We may come up with a
better solution for mainline, but this seems like a low-impact fix for
the stable kernel. ]
Signed-off-by: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx>
Cc: XFS masters <xfs-masters@xxxxxxxxxxx>
Cc: Stable kernel <stable@xxxxxxxxxx>
Cc: Morten =?utf-8?q?B=C3=B8geskov?= <xen-users@xxxxxxxxxxxxxxxxxx>
Cc: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
---
fs/xfs/linux-2.6/xfs_buf.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
===================================================================
--- a/fs/xfs/linux-2.6/xfs_buf.c
+++ b/fs/xfs/linux-2.6/xfs_buf.c
@@ -186,6 +186,19 @@ free_address(
void *addr)
{
a_list_t *aentry;
+
+#ifdef CONFIG_XEN
+ /*
+ * Xen needs to be able to make sure it can get an exclusive
+ * RO mapping of pages it wants to turn into a pagetable. If
+ * a newly allocated page is also still being vmap()ed by xfs,
+ * it will cause pagetable construction to fail. This is a
+ * quick workaround to always eagerly unmap pages so that Xen
+ * is happy.
+ */
+ vunmap(addr);
+ return;
+#endif
aentry = kmalloc(sizeof(a_list_t), GFP_NOWAIT);
if (likely(aentry)) {
--
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH 00/10] REVIEW: Xen patches for 2.6.24, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 02/10] Clean up duplicate includes in arch/i386/xen/, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 03/10] xen: yield to IPI target if necessary, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 05/10] xen: deal with stale cr3 values when unpinning pagetables, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 07/10] xen: ask the hypervisor how much space it needs reserved, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 06/10] xen: lock pte pages while pinning/unpinning, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 08/10] xen: fix incorrect vcpu_register_vcpu_info hypercall argument, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 10/10] xfs: eagerly remove vmap mappings to avoid upsetting Xen,
Jeremy Fitzhardinge <=
- [Xen-devel] [PATCH 09/10] xen: add some debug output for failed multicalls, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 01/10] remove dead code in pgtable_cache_init, Jeremy Fitzhardinge
- [Xen-devel] [PATCH 04/10] xen: add batch completion callbacks, Jeremy Fitzhardinge
|
|
|
|
|