# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxxxx
# Node ID a75c1bdfe76146ad591574d805be5be0a3098d2a
# Parent d095e99392ac77f10449cb78a56f7d133bc0450f
[LINUX] A few clean ups and a fix to an error path in
xen_create/destroy_contiguous_region.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff -r d095e99392ac -r a75c1bdfe761
linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c
--- a/linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c Fri Jun 30 10:16:12
2006 +0100
+++ b/linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c Fri Jun 30 10:24:14
2006 +0100
@@ -301,7 +301,7 @@ int xen_create_contiguous_region(
if (xen_feature(XENFEAT_auto_translated_physmap))
return 0;
- if (order > MAX_CONTIG_ORDER)
+ if (unlikely(order > MAX_CONTIG_ORDER))
return -ENOMEM;
set_xen_guest_handle(exchange.in.extent_start, in_frames);
@@ -397,7 +397,7 @@ void xen_destroy_contiguous_region(unsig
!test_bit(__pa(vstart) >> PAGE_SHIFT, contiguous_bitmap))
return;
- if (order > MAX_CONTIG_ORDER)
+ if (unlikely(order > MAX_CONTIG_ORDER))
return;
set_xen_guest_handle(exchange.in.extent_start, &in_frame);
@@ -419,7 +419,8 @@ void xen_destroy_contiguous_region(unsig
/* 2. Zap current PTEs. */
for (i = 0; i < (1UL<<order); i++) {
if (HYPERVISOR_update_va_mapping(vstart + (i*PAGE_SIZE),
- __pte_ma(0), 0));
+ __pte_ma(0), 0))
+ BUG();
set_phys_to_machine((__pa(vstart)>>PAGE_SHIFT)+i,
INVALID_P2M_ENTRY);
out_frames[i] = (__pa(vstart) >> PAGE_SHIFT) + i;
@@ -430,7 +431,7 @@ void xen_destroy_contiguous_region(unsig
success = (exchange.nr_exchanged == 1);
BUG_ON(!success && ((exchange.nr_exchanged != 0) || (rc == 0)));
BUG_ON(success && (rc != 0));
- if (rc == -ENOSYS) {
+ if (unlikely(rc == -ENOSYS)) {
/* Compatibility when XENMEM_exchange is unsupported. */
if (HYPERVISOR_memory_op(XENMEM_decrease_reservation,
&exchange.in) != 1)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|