ia64/xen-unstable

changeset 1321:29c2aca35d1d

bitkeeper revision 1.843.1.1 (408e7d81yryzADIp-4VdSvsB20fl9w)

more shadow log dirty stuff.
author iap10@labyrinth.cl.cam.ac.uk
date Tue Apr 27 15:34:25 2004 +0000 (2004-04-27)
parents 35f6d097e399
children 1983d16b31c5
files xen/common/memory.c xen/net/dev.c
line diff
     1.1 --- a/xen/common/memory.c	Mon Apr 05 12:20:25 2004 +0000
     1.2 +++ b/xen/common/memory.c	Tue Apr 27 15:34:25 2004 +0000
     1.3 @@ -1060,6 +1060,12 @@ int do_mmu_update(mmu_update_t *ureqs, i
     1.4  
     1.5              machine_to_phys_mapping[pfn] = req.val;
     1.6              okay = 1;
     1.7 +
     1.8 +	    /*  if in log dirty shadow mode, mark the corresponding 
     1.9 +		psuedo-physical page as dirty */
    1.10 +	    if( unlikely(current->mm.shadow_mode == SHM_logdirty) )
    1.11 +		mark_dirty( &current->mm, pfn );
    1.12 +
    1.13              put_page(&frame_table[pfn]);
    1.14              break;
    1.15  
     2.1 --- a/xen/net/dev.c	Mon Apr 05 12:20:25 2004 +0000
     2.2 +++ b/xen/net/dev.c	Tue Apr 27 15:34:25 2004 +0000
     2.3 @@ -555,8 +555,11 @@ void deliver_packet(struct sk_buff *skb,
     2.4  
     2.5          // avoid the fault later
     2.6  	*sptr = new_pte;
     2.7 +	unmap_domain_mem(sptr);
     2.8  
     2.9 -	unmap_domain_mem(sptr);
    2.10 +	if( p->mm.shadow_mode == SHM_logdirty )
    2.11 +		mark_dirty( &p->mm, new_page-frame_table );
    2.12 +
    2.13  	put_shadow_status(&p->mm);
    2.14      }
    2.15