* RE: Unstableness in grant table block drivers
@ 2005-04-15 22:30 Ian Pratt
2005-04-16 1:18 ` Christopher Clark
0 siblings, 1 reply; 40+ messages in thread
From: Ian Pratt @ 2005-04-15 22:30 UTC (permalink / raw)
To: Ryan Harper, Kip Macy; +Cc: xen-devel
> * Kip Macy <kip.macy@gmail.com> [2005-04-15 16:44]:
> > Ouch. I just used it this morning for a tree from last night, so I
> > didn't anticipate any problems.
>
> Yeah, more than likely it's something 'unique' about my aging
> hardware.
> Thanks for the info, none-the-less.
Try "maxcpus=1"
I added it a couple of days ago.
Thanks,
Ian
^ permalink raw reply [flat|nested] 40+ messages in thread* Re: Unstableness in grant table block drivers 2005-04-15 22:30 Unstableness in grant table block drivers Ian Pratt @ 2005-04-16 1:18 ` Christopher Clark 2005-04-16 1:32 ` Christopher Clark 0 siblings, 1 reply; 40+ messages in thread From: Christopher Clark @ 2005-04-16 1:18 UTC (permalink / raw) To: Ian Pratt; +Cc: Kip Macy, Ryan Harper, xen-devel Anyone have ideas as to what this is in both of Ryan's Xen/dom0 output? "ssttoop_pth_ithsis__ccppu ud diissaablbele_l_olcaolca_l_AAPPIICC stsompp_s_ethnid_sst_opc pud diisasblea_lboclae_ll_AoPcaIl_CAPI C " It doesn't look good to me. c. On 4/15/05, Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk> wrote: > > * Kip Macy <kip.macy@gmail.com> [2005-04-15 16:44]: > > > Ouch. I just used it this morning for a tree from last night, so I > > > didn't anticipate any problems. > > > > Yeah, more than likely it's something 'unique' about my aging > > hardware. > > Thanks for the info, none-the-less. > > Try "maxcpus=1" > > I added it a couple of days ago. > > Thanks, > Ian > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-16 1:18 ` Christopher Clark @ 2005-04-16 1:32 ` Christopher Clark 2005-04-16 3:03 ` David Hopwood 0 siblings, 1 reply; 40+ messages in thread From: Christopher Clark @ 2005-04-16 1:32 UTC (permalink / raw) To: xen-devel got it. "stop_this_cpu disable_local_APIC" from smp.c c. On 4/15/05, Christopher Clark <christopher.w.clark@gmail.com> wrote: > Anyone have ideas as to what this is in both of Ryan's Xen/dom0 output? > > "ssttoop_pth_ithsis__ccppu ud diissaablbele_l_olcaolca_l_AAPPIICC > > stsompp_s_ethnid_sst_opc pud diisasblea_lboclae_ll_AoPcaIl_CAPI > C > " > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-16 1:32 ` Christopher Clark @ 2005-04-16 3:03 ` David Hopwood 0 siblings, 0 replies; 40+ messages in thread From: David Hopwood @ 2005-04-16 3:03 UTC (permalink / raw) To: xen-devel Christopher Clark wrote: > got it. "stop_this_cpu disable_local_APIC" > from smp.c The second one is also interleaved with "smp_send_stop disable_local_APIC". >>stsompp_s_ethnid_sst_opc pud diisasblea_lboclae_ll_AoPcaIl_CAPIC -- David Hopwood <david.nospam.hopwood@blueyonder.co.uk> ^ permalink raw reply [flat|nested] 40+ messages in thread
* RE: Unstableness in grant table block drivers
@ 2005-04-16 1:32 Ian Pratt
2005-04-16 15:39 ` Ryan Harper
0 siblings, 1 reply; 40+ messages in thread
From: Ian Pratt @ 2005-04-16 1:32 UTC (permalink / raw)
To: cwc22; +Cc: Kip Macy, Ryan Harper, xen-devel
> Anyone have ideas as to what this is in both of Ryan's
> Xen/dom0 output?
>
> "ssttoop_pth_ithsis__ccppu ud diissaablbele_l_olcaolca_l_AAPPIICC
>
> stsompp_s_ethnid_sst_opc pud diisasblea_lboclae_ll_AoPcaIl_CAPI
> C
> "
Panic is the only thing that calls smp_send_stop, so I think the badness
has already happened.
Ryan: is this an SMP guest?
Ian
^ permalink raw reply [flat|nested] 40+ messages in thread* Re: Unstableness in grant table block drivers 2005-04-16 1:32 Ian Pratt @ 2005-04-16 15:39 ` Ryan Harper 2005-04-18 16:38 ` Christopher Clark 0 siblings, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-16 15:39 UTC (permalink / raw) To: Ian Pratt; +Cc: Kip Macy, cwc22, xen-devel, Ryan Harper * Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk> [2005-04-16 10:29]: > > Anyone have ideas as to what this is in both of Ryan's > > Xen/dom0 output? > > > > "ssttoop_pth_ithsis__ccppu ud diissaablbele_l_olcaolca_l_AAPPIICC > > > > stsompp_s_ethnid_sst_opc pud diisasblea_lboclae_ll_AoPcaIl_CAPI > > C > > " > > Panic is the only thing that calls smp_send_stop, so I think the badness > has already happened. > > Ryan: is this an SMP guest? Yes, that only shows up when trying to boot an SMP guest. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-16 15:39 ` Ryan Harper @ 2005-04-18 16:38 ` Christopher Clark 2005-04-18 16:45 ` Ryan Harper 2005-04-18 20:51 ` Ryan Harper 0 siblings, 2 replies; 40+ messages in thread From: Christopher Clark @ 2005-04-18 16:38 UTC (permalink / raw) To: Ryan Harper, Anthony Liguori; +Cc: xen-devel [-- Attachment #1: Type: text/plain, Size: 801 bytes --] > > Ryan: is this an SMP guest? > > Yes, that only shows up when trying to boot an SMP guest. Does the crash only occur when trying to boot an SMP guest - ie. do UP guests start correctly? Ryan and Anthony: I've attached a patch that I'd like you to apply to your unstable tree -- it just printk's almost everything so I can get an idea of the code path you're running. Alternatively, the three .c files modified by the patch are also attached - they're taken from 2005-04-14 unstable and you should be able to just replace the files in your tree. After changing your tree and rebuilding, please send the console logs from boot onwards for xen/dom0 and domU, in a uniprocessor configuration, both with and without using grant tables for block transport. thanks Christopher [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: instrument.patch --] [-- Type: text/x-patch; name="instrument.patch", Size: 18364 bytes --] ===== linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 1.38 vs edited ===== --- 1.38/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-04-05 05:28:05 -07:00 +++ edited/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-04-17 21:14:38 -07:00 @@ -115,6 +115,7 @@ static void fast_flush_area(int idx, int nr_pages) { + printk("cwc:%s:in\n", __FUNCTION__); #ifdef CONFIG_XEN_BLKDEV_GRANT gnttab_op_t aop[BLKIF_MAX_SEGMENTS_PER_REQUEST]; unsigned int i, invcount = 0; @@ -151,6 +152,7 @@ if ( unlikely(HYPERVISOR_multicall(mcl, nr_pages) != 0) ) BUG(); #endif + printk("cwc:%s:out\n", __FUNCTION__); } @@ -374,6 +376,7 @@ { int rsp = BLKIF_RSP_ERROR; int pending_idx = pending_ring[MASK_PEND_IDX(pending_cons)]; + printk("cwc:%s:in id:%lu\n", __FUNCTION__, req->id); /* We expect one buffer only. */ if ( unlikely(req->nr_segments != 1) ) @@ -384,6 +387,7 @@ (blkif_last_sect(req->frame_and_sects[0]) != 7) ) goto out; + printk("cwc:%s:mid\n", __FUNCTION__); #ifdef CONFIG_XEN_BLKDEV_GRANT { gnttab_op_t op; @@ -428,12 +432,14 @@ #endif #endif /* endif CONFIG_XEN_BLKDEV_GRANT */ + printk("cwc:%s:vbd_probe\n", __FUNCTION__); rsp = vbd_probe(blkif, (vdisk_t *)MMAP_VADDR(pending_idx, 0), PAGE_SIZE / sizeof(vdisk_t)); out: fast_flush_area(pending_idx, 1); make_response(blkif, req->id, req->operation, rsp); + printk("cwc:%s:out response:%d\n", __FUNCTION__, rsp); } static void dispatch_rw_block_io(blkif_t *blkif, blkif_request_t *req) @@ -464,6 +470,7 @@ /* Check that number of segments is sane. */ nseg = req->nr_segments; + printk("cwc:%s:in nsegs:%u\n", __FUNCTION__, nseg); if ( unlikely(nseg == 0) || unlikely(nseg > BLKIF_MAX_SEGMENTS_PER_REQUEST) ) { @@ -497,6 +504,7 @@ if ( unlikely(HYPERVISOR_grant_table_op( GNTTABOP_map_grant_ref, aop, nseg))) BUG(); + printk("cwc:%s:post map\n", __FUNCTION__); for ( i = 0; i < nseg; i++ ) { @@ -513,6 +521,7 @@ pending_handle(pending_idx, i) = aop[i].u.map_grant_ref.handle; } #endif + printk("cwc:%s:pre populate segs\n", __FUNCTION__); for ( i = 0; i < nseg; i++ ) { @@ -527,6 +536,8 @@ goto bad_descriptor; preq.nr_sects += seg[i].nsec; #endif + printk("cwc:%s: buf:%lx populated %u sects\n", + __FUNCTION__, seg[i].buf, seg[i].nsec); } if ( vbd_translate(&preq, blkif, operation) != 0 ) @@ -646,6 +657,7 @@ preq.sector_number += seg[i].nsec; } + printk("cwc:%s: post bio_add_page\n", __FUNCTION__); if ( (q = bdev_get_queue(bio->bi_bdev)) != plugged_queue ) { @@ -662,11 +674,13 @@ submit_bio(operation, biolist[i]); #endif + printk("cwc:%s: %d bios submitted\n", __FUNCTION__, nbio); return; bad_descriptor: make_response(blkif, req->id, req->operation, BLKIF_RSP_ERROR); + printk("cwc:%s: %d bad descriptor\n", __FUNCTION__); } ===== linux-2.6.11-xen-sparse/drivers/xen/blkfront/blkfront.c 1.52 vs edited ===== --- 1.52/linux-2.6.11-xen-sparse/drivers/xen/blkfront/blkfront.c 2005-04-05 00:43:40 -07:00 +++ edited/linux-2.6.11-xen-sparse/drivers/xen/blkfront/blkfront.c 2005-04-17 22:34:21 -07:00 @@ -226,6 +226,7 @@ { struct gendisk *gd = inode->i_bdev->bd_disk; struct xlbd_disk_info *di = (struct xlbd_disk_info *)gd->private_data; + printk("cwc:%s: called\n", __FUNCTION__); /* Update of usage count is protected by per-device semaphore. */ di->mi->usage++; @@ -238,6 +239,7 @@ { struct gendisk *gd = inode->i_bdev->bd_disk; struct xlbd_disk_info *di = (struct xlbd_disk_info *)gd->private_data; + printk("cwc:%s: called\n", __FUNCTION__); /* * When usage drops to zero it may allow more VBD updates to occur. @@ -255,6 +257,7 @@ unsigned command, unsigned long argument) { int i; + printk("cwc:%s: called\n", __FUNCTION__); DPRINTK_IOCTL("command: 0x%x, argument: 0x%lx, dev: 0x%04x\n", command, (long)argument, inode->i_rdev); @@ -305,6 +308,7 @@ #ifdef CONFIG_XEN_BLKDEV_GRANT int ref; #endif + printk("cwc:%s: in blkif_state:%u\n", __FUNCTION__, blkif_state); if ( unlikely(blkif_state != BLKIF_STATE_CONNECTED) ) return 1; @@ -355,6 +359,7 @@ /* Keep a private copy so we can reissue requests when recovering. */ translate_req_to_pfn(&rec_ring[id], ring_req); + printk("cwc:%s: out\n", __FUNCTION__); return 0; } @@ -367,6 +372,7 @@ { struct request *req; int queued; + printk("cwc:%s: called\n", __FUNCTION__); DPRINTK("Entered do_blkif_request\n"); @@ -407,12 +413,15 @@ RING_IDX i, rp; unsigned long flags; + printk("cwc:%s: pre spin_lock_irqsave\n", __FUNCTION__); spin_lock_irqsave(&blkif_io_lock, flags); + printk("cwc:%s: post spin_lock_irqsave\n", __FUNCTION__); if ( unlikely(blkif_state == BLKIF_STATE_CLOSED) || unlikely(recovery) ) { spin_unlock_irqrestore(&blkif_io_lock, flags); + printk("cwc:%s: spin_unlock_irqsave\n", __FUNCTION__); return IRQ_HANDLED; } @@ -426,6 +435,7 @@ bret = RING_GET_RESPONSE(&blk_ring, i); id = bret->id; req = (struct request *)rec_ring[id].id; + printk("cwc:%s: blkif_completion call id %lu\n", __FUNCTION__, id); blkif_completion( &rec_ring[id] ); ADD_ID_TO_FREELIST(id); /* overwrites req */ @@ -454,12 +464,14 @@ BUG(); } } + printk("cwc:%s: post loop\n", __FUNCTION__); blk_ring.rsp_cons = i; kick_pending_request_queues(); spin_unlock_irqrestore(&blkif_io_lock, flags); + printk("cwc:%s: out unlock_irq_restore\n", __FUNCTION__); return IRQ_HANDLED; } @@ -768,6 +780,7 @@ #ifdef CONFIG_XEN_BLKDEV_GRANT int ref; #endif + printk("cwc:%s: in op:%d\n", __FUNCTION__, operation); fsect = (buffer_ma & ~PAGE_MASK) >> 9; lsect = fsect + nr_sectors - 1; @@ -809,6 +822,7 @@ (sg_dev == device) && (sg_next_sect == sector_number) ) { + printk("cwc:%s: building req\n", __FUNCTION__); req = RING_GET_REQUEST(&blk_ring, blk_ring.req_prod_pvt - 1); bh = (struct buffer_head *)id; @@ -842,10 +856,12 @@ /* Update the copy of the request in the recovery ring. */ translate_req_to_pfn(&rec_ring[req->id], req ); + printk("cwc:%s: access granted to %lx\n", __FUNCTION__, buffer_ma); return 0; } else if ( RING_FULL(&blk_ring) ) { + printk("cwc:%s: ring full\n", __FUNCTION__); return 1; } else @@ -857,8 +873,12 @@ break; default: + { + printk("cwc:%s: pre panic for unknown op %d\n", __FUNCTION__, operation); panic("unknown op %d\n", operation); + } } + printk("cwc:%s: mid\n", __FUNCTION__); /* Fill out a communications ring structure. */ req = RING_GET_REQUEST(&blk_ring, blk_ring.req_prod_pvt); @@ -892,6 +912,7 @@ blk_ring.req_prod_pvt++; + printk("cwc:%s: out buf:%lx\n", __FUNCTION__, buffer_ma); return 0; } @@ -1051,6 +1072,7 @@ ASSERT( ref != -ENOSPC ); gnttab_grant_foreign_access_ref( ref, rdomid, address >> PAGE_SHIFT, 0 ); + printk("cwc:%s: grant access to buf:%lx\n", __FUNCTION__, address >> PAGE_SHIFT); req->frame_and_sects[0] = (((u32) ref) << 16) | 7; @@ -1062,6 +1084,7 @@ { unsigned long flags, id; blkif_request_t *req_d; + printk("cwc:%s: in\n", __FUNCTION__); retry: while ( RING_FULL(&blk_ring) ) @@ -1070,9 +1093,12 @@ schedule_timeout(1); } + printk("cwc:%s: pre spin_lock_irqsave\n", __FUNCTION__); spin_lock_irqsave(&blkif_io_lock, flags); + printk("cwc:%s: post spin_lock_irqsave\n", __FUNCTION__); if ( RING_FULL(&blk_ring) ) { + printk("cwc:%s: spin_unlock_irqrestore\n", __FUNCTION__); spin_unlock_irqrestore(&blkif_io_lock, flags); goto retry; } @@ -1090,6 +1116,7 @@ blk_ring.req_prod_pvt++; flush_requests(); + printk("cwc:%s: spin_unlock_irqrestore 2\n", __FUNCTION__); spin_unlock_irqrestore(&blkif_io_lock, flags); while ( !blkif_control_rsp_valid ) @@ -1100,6 +1127,7 @@ memcpy(rsp, &blkif_control_rsp, sizeof(*rsp)); blkif_control_rsp_valid = 0; + printk("cwc:%s: out\n", __FUNCTION__); } @@ -1115,6 +1143,7 @@ msg->status = (ok ? BLKIF_DRIVER_STATUS_UP : BLKIF_DRIVER_STATUS_DOWN); + printk("cwc:%s: ctrl_if_send_message_block\n", __FUNCTION__); ctrl_if_send_message_block(&cmsg, NULL, 0, TASK_UNINTERRUPTIBLE); } @@ -1131,16 +1160,20 @@ msg->handle = 0; msg->shmem_frame = (virt_to_machine(blk_ring.sring) >> PAGE_SHIFT); + printk("cwc:%s: ctrl_if_send_message_block\n", __FUNCTION__); ctrl_if_send_message_block(&cmsg, NULL, 0, TASK_UNINTERRUPTIBLE); } static void blkif_free(void) { /* Prevent new requests being issued until we fix things up. */ + printk("cwc:%s: pre spin_lock_irq\n", __FUNCTION__); spin_lock_irq(&blkif_io_lock); + printk("cwc:%s: post spin_lock_irq\n", __FUNCTION__); recovery = 1; blkif_state = BLKIF_STATE_DISCONNECTED; spin_unlock_irq(&blkif_io_lock); + printk("cwc:%s: spin_unlock_irq\n", __FUNCTION__); /* Free resources associated with old device channel. */ if ( blk_ring.sring != NULL ) @@ -1153,16 +1186,19 @@ unbind_evtchn_from_irq(blkif_evtchn); blkif_evtchn = 0; + printk("cwc:%s: out\n", __FUNCTION__); } static void blkif_close(void) { + printk("cwc:%s: called\n", __FUNCTION__); } /* Move from CLOSED to DISCONNECTED state. */ static void blkif_disconnect(void) { blkif_sring_t *sring; + printk("cwc:%s: called\n", __FUNCTION__); if ( blk_ring.sring != NULL ) free_page((unsigned long)blk_ring.sring); @@ -1176,6 +1212,7 @@ static void blkif_reset(void) { + printk("cwc:%s: called\n", __FUNCTION__); blkif_free(); blkif_disconnect(); } @@ -1184,6 +1221,7 @@ { int i; blkif_request_t *req; + printk("cwc:%s: in\n", __FUNCTION__); /* Hmm, requests might be re-ordered when we re-issue them. * This will need to be fixed once we have barriers */ @@ -1199,6 +1237,7 @@ blk_ring.req_prod_pvt++; } } + printk("cwc:%s: post 1\n", __FUNCTION__); /* Stage 2 : Set up shadow list. */ for ( i = 0; i < blk_ring.req_prod_pvt; i++ ) @@ -1208,12 +1247,14 @@ req->id = i; translate_req_to_pfn(&rec_ring[i], req); } + printk("cwc:%s: post 2\n", __FUNCTION__); /* Stage 3 : Set up free list. */ for ( ; i < BLK_RING_SIZE; i++ ) rec_ring[i].id = i+1; rec_ring_free = blk_ring.req_prod_pvt; rec_ring[BLK_RING_SIZE-1].id = 0x0fffffff; + printk("cwc:%s: post 3\n", __FUNCTION__); /* blk_ring->req_prod will be set when we flush_requests().*/ wmb(); @@ -1229,6 +1270,7 @@ /* Now safe to left other peope use interface. */ blkif_state = BLKIF_STATE_CONNECTED; + printk("cwc:%s: out\n", __FUNCTION__); } static void blkif_connect(blkif_fe_interface_status_t *status) @@ -1240,6 +1282,7 @@ #ifdef CONFIG_XEN_BLKDEV_GRANT rdomid = status->domid; #endif + printk("cwc:%s: in\n", __FUNCTION__); err = request_irq(blkif_irq, blkif_int, SA_SAMPLE_RANDOM, "blkif", NULL); if ( err ) @@ -1250,6 +1293,7 @@ if ( recovery ) { + printk("cwc:%s: recovery\n", __FUNCTION__); blkif_recover(); } else @@ -1257,15 +1301,19 @@ /* Transition to connected in case we need to do * a partition probe on a whole disk. */ blkif_state = BLKIF_STATE_CONNECTED; + printk("cwc:%s: connected\n", __FUNCTION__); /* Probe for discs attached to the interface. */ xlvbd_init(); } /* Kick pending requests. */ + printk("cwc:%s: pre spin_lock_irq\n", __FUNCTION__); spin_lock_irq(&blkif_io_lock); + printk("cwc:%s: post spin_lock_irq\n", __FUNCTION__); kick_pending_request_queues(); spin_unlock_irq(&blkif_io_lock); + printk("cwc:%s: spin_unlock_irq\n", __FUNCTION__); } static void unexpected(blkif_fe_interface_status_t *status) @@ -1282,6 +1330,7 @@ unexpected(status); return; } + printk("cwc:%s: status: %u\n", __FUNCTION__, status->status); switch ( status->status ) { @@ -1353,6 +1402,7 @@ static void blkif_ctrlif_rx(ctrl_msg_t *msg, unsigned long id) { + printk("cwc:%s: called\n", __FUNCTION__); switch ( msg->subtype ) { case CMSG_BLKIF_FE_INTERFACE_STATUS: @@ -1371,6 +1421,7 @@ { int err = 0; int i; + printk("cwc:%s: in\n", __FUNCTION__); send_driver_status(1); /* @@ -1389,6 +1440,7 @@ printk(KERN_INFO "xen_blk: Timeout connecting to device!\n"); err = -ENOSYS; } + printk("cwc:%s: out\n", __FUNCTION__); return err; } @@ -1424,16 +1476,19 @@ void blkdev_suspend(void) { + printk("cwc:%s: called\n", __FUNCTION__); } void blkdev_resume(void) { + printk("cwc:%s: called\n", __FUNCTION__); send_driver_status(1); } void blkif_completion(blkif_request_t *req) { int i; + printk("cwc:%s: in\n", __FUNCTION__); #ifdef CONFIG_XEN_BLKDEV_GRANT grant_ref_t gref; @@ -1456,4 +1511,5 @@ break; } #endif + printk("cwc:%s: out\n", __FUNCTION__); } ===== xen/common/grant_table.c 1.33 vs edited ===== --- 1.33/xen/common/grant_table.c 2005-04-14 13:53:23 -07:00 +++ edited/xen/common/grant_table.c 2005-04-17 22:18:32 -07:00 @@ -22,8 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define GRANT_DEBUG 0 -#define GRANT_DEBUG_VERBOSE 0 +#define GRANT_DEBUG 1 +#define GRANT_DEBUG_VERBOSE 1 #include <xen/config.h> #include <xen/sched.h> @@ -104,7 +104,9 @@ act = &granting_d->grant_table->active[ref]; sha = &granting_d->grant_table->shared[ref]; + printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&granting_d->grant_table->lock); + printk("cwc:%s: post spin_lock\n", __FUNCTION__); if ( act->pin == 0 ) { @@ -248,6 +250,7 @@ */ spin_unlock(&granting_d->grant_table->lock); + printk("cwc:%s: spin_unlock\n", __FUNCTION__); if ( (host_virt_addr != 0) && (dev_hst_ro_flags & GNTMAP_host_map) ) { @@ -269,7 +272,9 @@ { /* Abort. */ + printk("cwc:%s: pre spin_lock 2\n", __FUNCTION__); spin_lock(&granting_d->grant_table->lock); + printk("cwc:%s: post spin_lock 2\n", __FUNCTION__); if ( dev_hst_ro_flags & GNTMAP_readonly ) act->pin -= GNTPIN_hstr_inc; @@ -289,14 +294,17 @@ } spin_unlock(&granting_d->grant_table->lock); + printk("cwc:%s: spin_unlock 2\n", __FUNCTION__); } } *pframe = frame; + printk("cwc:%s: out\n", __FUNCTION__); return rc; unlock_out: spin_unlock(&granting_d->grant_table->lock); + printk("cwc:%s: spin_unlock out\n", __FUNCTION__); return rc; } @@ -507,7 +515,9 @@ act = &rd->grant_table->active[ref]; sha = &rd->grant_table->shared[ref]; + printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&rd->grant_table->lock); + printk("cwc:%s: post spin_lock\n", __FUNCTION__); if ( frame == 0 ) frame = act->frame; @@ -562,6 +572,7 @@ goto unmap_out; } + printk("cwc:%s: pre pagetable delete\n", __FUNCTION__); /* Delete pagetable entry */ if ( unlikely(__put_user(0, (unsigned long *)pl1e))) @@ -588,6 +599,7 @@ rc = 0; *va = virt; + printk("cwc:%s: post pagetable delete\n", __FUNCTION__); } if ( (map->ref_and_flags & (GNTMAP_device_map|GNTMAP_host_map)) == 0) @@ -617,6 +629,7 @@ unmap_out: (void)__put_user(rc, &uop->status); + printk("cwc:%s: out spin_unlock\n", __FUNCTION__); spin_unlock(&rd->grant_table->lock); put_domain(rd); return rc; @@ -897,11 +910,14 @@ ref = (map->ref_and_flags >> MAPTRACK_REF_SHIFT); act = &rgt->active[ref]; + printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&rgt->lock); + printk("cwc:%s: post spin_lock\n", __FUNCTION__); if ( act->frame != frame ) { spin_unlock(&rgt->lock); + printk("cwc:%s: not frame spin_unlock\n", __FUNCTION__); continue; } @@ -910,6 +926,7 @@ if ( refcount == 0 ) { spin_unlock(&rgt->lock); + printk("cwc:%s: refcount 0 spin_unlock\n", __FUNCTION__); continue; } @@ -937,6 +954,7 @@ put_page(&frame_table[frame]); } spin_unlock(&rgt->lock); + printk("cwc:%s: spin_unlock\n", __FUNCTION__); clear_bit(GNTMAP_host_map, &map->ref_and_flags); @@ -949,6 +967,7 @@ } put_domain(rd); + printk("cwc:%s: out found:%d\n", __FUNCTION__, found); return found; } @@ -974,13 +993,16 @@ return 0; } + printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&rgt->lock); + printk("cwc:%s: post spin_lock\n", __FUNCTION__); sha = &rgt->shared[ref]; sflags = sha->flags; sdom = sha->domid; + printk("cwc:%s: pre cmpxchg loop\n", __FUNCTION__); for ( ; ; ) { target_pfn = sha->frame; @@ -1028,10 +1050,12 @@ } spin_unlock(&rgt->lock); + printk("cwc:%s: out spin_unlock 1\n", __FUNCTION__); return 1; fail: spin_unlock(&rgt->lock); + printk("cwc:%s: out spin_unlock 0\n", __FUNCTION__); return 0; } [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: blkback.c --] [-- Type: text/x-csrc; name="blkback.c", Size: 23917 bytes --] /****************************************************************************** * arch/xen/drivers/blkif/backend/main.c * * Back-end of the driver for virtual block devices. This portion of the * driver exports a 'unified' block-device interface that can be accessed * by any operating system that implements a compatible front end. A * reference front-end implementation can be found in: * arch/xen/drivers/blkif/frontend * * Copyright (c) 2003-2004, Keir Fraser & Steve Hand * Copyright (c) 2005, Christopher Clark */ #include "common.h" #include <asm-xen/evtchn.h> #ifdef CONFIG_XEN_BLKDEV_GRANT #include <asm-xen/xen-public/grant_table.h> #endif /* * These are rather arbitrary. They are fairly large because adjacent requests * pulled from a communication ring are quite likely to end up being part of * the same scatter/gather request at the disc. * * ** TRY INCREASING 'MAX_PENDING_REQS' IF WRITE SPEEDS SEEM TOO LOW ** * This will increase the chances of being able to write whole tracks. * 64 should be enough to keep us competitive with Linux. */ #define MAX_PENDING_REQS 64 #define BATCH_PER_DOMAIN 16 static unsigned long mmap_vstart; #define MMAP_PAGES \ (MAX_PENDING_REQS * BLKIF_MAX_SEGMENTS_PER_REQUEST) #define MMAP_VADDR(_req,_seg) \ (mmap_vstart + \ ((_req) * BLKIF_MAX_SEGMENTS_PER_REQUEST * PAGE_SIZE) + \ ((_seg) * PAGE_SIZE)) /* * Each outstanding request that we've passed to the lower device layers has a * 'pending_req' allocated to it. Each buffer_head that completes decrements * the pendcnt towards zero. When it hits zero, the specified domain has a * response queued for it, with the saved 'id' passed back. */ typedef struct { blkif_t *blkif; unsigned long id; int nr_pages; atomic_t pendcnt; unsigned short operation; int status; } pending_req_t; /* * We can't allocate pending_req's in order, since they may complete out of * order. We therefore maintain an allocation ring. This ring also indicates * when enough work has been passed down -- at that point the allocation ring * will be empty. */ static pending_req_t pending_reqs[MAX_PENDING_REQS]; static unsigned char pending_ring[MAX_PENDING_REQS]; static spinlock_t pend_prod_lock = SPIN_LOCK_UNLOCKED; /* NB. We use a different index type to differentiate from shared blk rings. */ typedef unsigned int PEND_RING_IDX; #define MASK_PEND_IDX(_i) ((_i)&(MAX_PENDING_REQS-1)) static PEND_RING_IDX pending_prod, pending_cons; #define NR_PENDING_REQS (MAX_PENDING_REQS - pending_prod + pending_cons) #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) static kmem_cache_t *buffer_head_cachep; #else static request_queue_t *plugged_queue; static inline void flush_plugged_queue(void) { request_queue_t *q = plugged_queue; if ( q != NULL ) { if ( q->unplug_fn != NULL ) q->unplug_fn(q); blk_put_queue(q); plugged_queue = NULL; } } #endif #ifdef CONFIG_XEN_BLKDEV_GRANT /* When using grant tables to map a frame for device access then the * handle returned must be used to unmap the frame. This is needed to * drop the ref count on the frame. */ static u16 pending_grant_handles[MMAP_PAGES]; #define pending_handle(_idx, _i) \ (pending_grant_handles[((_idx) * BLKIF_MAX_SEGMENTS_PER_REQUEST) + (_i)]) #define BLKBACK_INVALID_HANDLE (0xFFFF) #endif #ifdef CONFIG_XEN_BLKDEV_TAP_BE /* * If the tap driver is used, we may get pages belonging to either the tap * or (more likely) the real frontend. The backend must specify which domain * a given page belongs to in update_va_mapping though. For the moment, * the tap rewrites the ID field of the request to contain the request index * and the id of the real front end domain. */ #define BLKTAP_COOKIE 0xbeadfeed static inline domid_t ID_TO_DOM(unsigned long id) { return (id >> 16); } #endif static int do_block_io_op(blkif_t *blkif, int max_to_do); static void dispatch_probe(blkif_t *blkif, blkif_request_t *req); static void dispatch_rw_block_io(blkif_t *blkif, blkif_request_t *req); static void make_response(blkif_t *blkif, unsigned long id, unsigned short op, int st); static void fast_flush_area(int idx, int nr_pages) { printk("cwc:%s:in\n", __FUNCTION__); #ifdef CONFIG_XEN_BLKDEV_GRANT gnttab_op_t aop[BLKIF_MAX_SEGMENTS_PER_REQUEST]; unsigned int i, invcount = 0; u16 handle; for ( i = 0; i < nr_pages; i++ ) { if ( BLKBACK_INVALID_HANDLE != ( handle = pending_handle(idx, i) ) ) { aop[i].u.unmap_grant_ref.host_virt_addr = MMAP_VADDR(idx, i); aop[i].u.unmap_grant_ref.dev_bus_addr = 0; aop[i].u.unmap_grant_ref.handle = handle; pending_handle(idx, i) = BLKBACK_INVALID_HANDLE; invcount++; } } if ( unlikely(HYPERVISOR_grant_table_op( GNTTABOP_unmap_grant_ref, aop, invcount))) BUG(); #else multicall_entry_t mcl[BLKIF_MAX_SEGMENTS_PER_REQUEST]; int i; for ( i = 0; i < nr_pages; i++ ) { mcl[i].op = __HYPERVISOR_update_va_mapping; mcl[i].args[0] = MMAP_VADDR(idx, i); mcl[i].args[1] = 0; mcl[i].args[2] = 0; } mcl[nr_pages-1].args[2] = UVMF_TLB_FLUSH|UVMF_ALL; if ( unlikely(HYPERVISOR_multicall(mcl, nr_pages) != 0) ) BUG(); #endif printk("cwc:%s:out\n", __FUNCTION__); } /****************************************************************** * BLOCK-DEVICE SCHEDULER LIST MAINTENANCE */ static struct list_head blkio_schedule_list; static spinlock_t blkio_schedule_list_lock; static int __on_blkdev_list(blkif_t *blkif) { return blkif->blkdev_list.next != NULL; } static void remove_from_blkdev_list(blkif_t *blkif) { unsigned long flags; if ( !__on_blkdev_list(blkif) ) return; spin_lock_irqsave(&blkio_schedule_list_lock, flags); if ( __on_blkdev_list(blkif) ) { list_del(&blkif->blkdev_list); blkif->blkdev_list.next = NULL; blkif_put(blkif); } spin_unlock_irqrestore(&blkio_schedule_list_lock, flags); } static void add_to_blkdev_list_tail(blkif_t *blkif) { unsigned long flags; if ( __on_blkdev_list(blkif) ) return; spin_lock_irqsave(&blkio_schedule_list_lock, flags); if ( !__on_blkdev_list(blkif) && (blkif->status == CONNECTED) ) { list_add_tail(&blkif->blkdev_list, &blkio_schedule_list); blkif_get(blkif); } spin_unlock_irqrestore(&blkio_schedule_list_lock, flags); } /****************************************************************** * SCHEDULER FUNCTIONS */ static DECLARE_WAIT_QUEUE_HEAD(blkio_schedule_wait); static int blkio_schedule(void *arg) { DECLARE_WAITQUEUE(wq, current); blkif_t *blkif; struct list_head *ent; daemonize( #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) "xenblkd" #endif ); for ( ; ; ) { /* Wait for work to do. */ add_wait_queue(&blkio_schedule_wait, &wq); set_current_state(TASK_INTERRUPTIBLE); if ( (NR_PENDING_REQS == MAX_PENDING_REQS) || list_empty(&blkio_schedule_list) ) schedule(); __set_current_state(TASK_RUNNING); remove_wait_queue(&blkio_schedule_wait, &wq); /* Queue up a batch of requests. */ while ( (NR_PENDING_REQS < MAX_PENDING_REQS) && !list_empty(&blkio_schedule_list) ) { ent = blkio_schedule_list.next; blkif = list_entry(ent, blkif_t, blkdev_list); blkif_get(blkif); remove_from_blkdev_list(blkif); if ( do_block_io_op(blkif, BATCH_PER_DOMAIN) ) add_to_blkdev_list_tail(blkif); blkif_put(blkif); } /* Push the batch through to disc. */ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) run_task_queue(&tq_disk); #else flush_plugged_queue(); #endif } } static void maybe_trigger_blkio_schedule(void) { /* * Needed so that two processes, who together make the following predicate * true, don't both read stale values and evaluate the predicate * incorrectly. Incredibly unlikely to stall the scheduler on x86, but... */ smp_mb(); if ( (NR_PENDING_REQS < (MAX_PENDING_REQS/2)) && !list_empty(&blkio_schedule_list) ) wake_up(&blkio_schedule_wait); } /****************************************************************** * COMPLETION CALLBACK -- Called as bh->b_end_io() */ static void __end_block_io_op(pending_req_t *pending_req, int uptodate) { unsigned long flags; /* An error fails the entire request. */ if ( !uptodate ) { DPRINTK("Buffer not up-to-date at end of operation\n"); pending_req->status = BLKIF_RSP_ERROR; } if ( atomic_dec_and_test(&pending_req->pendcnt) ) { int pending_idx = pending_req - pending_reqs; fast_flush_area(pending_idx, pending_req->nr_pages); make_response(pending_req->blkif, pending_req->id, pending_req->operation, pending_req->status); blkif_put(pending_req->blkif); spin_lock_irqsave(&pend_prod_lock, flags); pending_ring[MASK_PEND_IDX(pending_prod++)] = pending_idx; spin_unlock_irqrestore(&pend_prod_lock, flags); maybe_trigger_blkio_schedule(); } } #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) static void end_block_io_op(struct buffer_head *bh, int uptodate) { __end_block_io_op(bh->b_private, uptodate); kmem_cache_free(buffer_head_cachep, bh); } #else static int end_block_io_op(struct bio *bio, unsigned int done, int error) { if ( done || error ) __end_block_io_op(bio->bi_private, (done && !error)); bio_put(bio); return error; } #endif /****************************************************************************** * NOTIFICATION FROM GUEST OS. */ irqreturn_t blkif_be_int(int irq, void *dev_id, struct pt_regs *regs) { blkif_t *blkif = dev_id; add_to_blkdev_list_tail(blkif); maybe_trigger_blkio_schedule(); return IRQ_HANDLED; } /****************************************************************** * DOWNWARD CALLS -- These interface with the block-device layer proper. */ static int do_block_io_op(blkif_t *blkif, int max_to_do) { blkif_back_ring_t *blk_ring = &blkif->blk_ring; blkif_request_t *req; RING_IDX i, rp; int more_to_do = 0; rp = blk_ring->sring->req_prod; rmb(); /* Ensure we see queued requests up to 'rp'. */ for ( i = blk_ring->req_cons; (i != rp) && !RING_REQUEST_CONS_OVERFLOW(blk_ring, i); i++ ) { if ( (max_to_do-- == 0) || (NR_PENDING_REQS == MAX_PENDING_REQS) ) { more_to_do = 1; break; } req = RING_GET_REQUEST(blk_ring, i); switch ( req->operation ) { case BLKIF_OP_READ: case BLKIF_OP_WRITE: dispatch_rw_block_io(blkif, req); break; case BLKIF_OP_PROBE: dispatch_probe(blkif, req); break; default: DPRINTK("error: unknown block io operation [%d]\n", req->operation); make_response(blkif, req->id, req->operation, BLKIF_RSP_ERROR); break; } } blk_ring->req_cons = i; return more_to_do; } static void dispatch_probe(blkif_t *blkif, blkif_request_t *req) { int rsp = BLKIF_RSP_ERROR; int pending_idx = pending_ring[MASK_PEND_IDX(pending_cons)]; printk("cwc:%s:in id:%lu\n", __FUNCTION__, req->id); /* We expect one buffer only. */ if ( unlikely(req->nr_segments != 1) ) goto out; /* Make sure the buffer is page-sized. */ if ( (blkif_first_sect(req->frame_and_sects[0]) != 0) || (blkif_last_sect(req->frame_and_sects[0]) != 7) ) goto out; printk("cwc:%s:mid\n", __FUNCTION__); #ifdef CONFIG_XEN_BLKDEV_GRANT { gnttab_op_t op; op.u.map_grant_ref.host_virt_addr = MMAP_VADDR(pending_idx, 0); op.u.map_grant_ref.flags = GNTMAP_host_map; op.u.map_grant_ref.ref = blkif_gref_from_fas(req->frame_and_sects[0]); op.u.map_grant_ref.dom = blkif->domid; if ( unlikely(HYPERVISOR_grant_table_op( GNTTABOP_map_grant_ref, &op, 1))) BUG(); if ( op.u.map_grant_ref.dev_bus_addr == 0 ) goto out; pending_handle(pending_idx, 0) = op.u.map_grant_ref.handle; } #else /* else CONFIG_XEN_BLKDEV_GRANT */ #ifdef CONFIG_XEN_BLKDEV_TAP_BE /* Grab the real frontend out of the probe message. */ if (req->frame_and_sects[1] == BLKTAP_COOKIE) blkif->is_blktap = 1; #endif #ifdef CONFIG_XEN_BLKDEV_TAP_BE if ( HYPERVISOR_update_va_mapping_otherdomain( MMAP_VADDR(pending_idx, 0), (pte_t) { (req->frame_and_sects[0] & PAGE_MASK) | __PAGE_KERNEL }, 0, (blkif->is_blktap ? ID_TO_DOM(req->id) : blkif->domid) ) ) goto out; #else if ( HYPERVISOR_update_va_mapping_otherdomain( MMAP_VADDR(pending_idx, 0), (pte_t) { (req->frame_and_sects[0] & PAGE_MASK) | __PAGE_KERNEL }, 0, blkif->domid) ) goto out; #endif #endif /* endif CONFIG_XEN_BLKDEV_GRANT */ printk("cwc:%s:vbd_probe\n", __FUNCTION__); rsp = vbd_probe(blkif, (vdisk_t *)MMAP_VADDR(pending_idx, 0), PAGE_SIZE / sizeof(vdisk_t)); out: fast_flush_area(pending_idx, 1); make_response(blkif, req->id, req->operation, rsp); printk("cwc:%s:out response:%d\n", __FUNCTION__, rsp); } static void dispatch_rw_block_io(blkif_t *blkif, blkif_request_t *req) { extern void ll_rw_block(int rw, int nr, struct buffer_head * bhs[]); int operation = (req->operation == BLKIF_OP_WRITE) ? WRITE : READ; unsigned long fas = 0; int i, pending_idx = pending_ring[MASK_PEND_IDX(pending_cons)]; pending_req_t *pending_req; #ifdef CONFIG_XEN_BLKDEV_GRANT gnttab_op_t aop[BLKIF_MAX_SEGMENTS_PER_REQUEST]; #else unsigned long remap_prot; multicall_entry_t mcl[BLKIF_MAX_SEGMENTS_PER_REQUEST]; #endif struct phys_req preq; struct { unsigned long buf; unsigned int nsec; } seg[BLKIF_MAX_SEGMENTS_PER_REQUEST]; unsigned int nseg; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) struct buffer_head *bh; #else struct bio *bio = NULL, *biolist[BLKIF_MAX_SEGMENTS_PER_REQUEST]; int nbio = 0; request_queue_t *q; #endif /* Check that number of segments is sane. */ nseg = req->nr_segments; printk("cwc:%s:in nsegs:%u\n", __FUNCTION__, nseg); if ( unlikely(nseg == 0) || unlikely(nseg > BLKIF_MAX_SEGMENTS_PER_REQUEST) ) { DPRINTK("Bad number of segments in request (%d)\n", nseg); goto bad_descriptor; } preq.dev = req->device; preq.sector_number = req->sector_number; preq.nr_sects = 0; #ifdef CONFIG_XEN_BLKDEV_GRANT for ( i = 0; i < nseg; i++ ) { fas = req->frame_and_sects[i]; seg[i].nsec = blkif_last_sect(fas) - blkif_first_sect(fas) + 1; if ( seg[i].nsec <= 0 ) goto bad_descriptor; preq.nr_sects += seg[i].nsec; aop[i].u.map_grant_ref.host_virt_addr = MMAP_VADDR(pending_idx, i); aop[i].u.map_grant_ref.dom = blkif->domid; aop[i].u.map_grant_ref.ref = blkif_gref_from_fas(fas); aop[i].u.map_grant_ref.flags = ( GNTMAP_host_map | ( ( operation == READ ) ? 0 : GNTMAP_readonly ) ); } if ( unlikely(HYPERVISOR_grant_table_op( GNTTABOP_map_grant_ref, aop, nseg))) BUG(); printk("cwc:%s:post map\n", __FUNCTION__); for ( i = 0; i < nseg; i++ ) { if ( unlikely(aop[i].u.map_grant_ref.dev_bus_addr == 0) ) { DPRINTK("invalid buffer -- could not remap it\n"); fast_flush_area(pending_idx, nseg); goto bad_descriptor; } phys_to_machine_mapping[__pa(MMAP_VADDR(pending_idx, i))>>PAGE_SHIFT] = FOREIGN_FRAME(aop[i].u.map_grant_ref.dev_bus_addr); pending_handle(pending_idx, i) = aop[i].u.map_grant_ref.handle; } #endif printk("cwc:%s:pre populate segs\n", __FUNCTION__); for ( i = 0; i < nseg; i++ ) { #ifdef CONFIG_XEN_BLKDEV_GRANT seg[i].buf = (aop[i].u.map_grant_ref.dev_bus_addr << PAGE_SHIFT) | (blkif_first_sect(fas) << 9); #else fas = req->frame_and_sects[i]; seg[i].buf = (fas & PAGE_MASK) | (blkif_first_sect(fas) << 9); seg[i].nsec = blkif_last_sect(fas) - blkif_first_sect(fas) + 1; if ( seg[i].nsec <= 0 ) goto bad_descriptor; preq.nr_sects += seg[i].nsec; #endif printk("cwc:%s: buf:%lx populated %u sects\n", __FUNCTION__, seg[i].buf, seg[i].nsec); } if ( vbd_translate(&preq, blkif, operation) != 0 ) { DPRINTK("access denied: %s of [%llu,%llu] on dev=%04x\n", operation == READ ? "read" : "write", preq.sector_number, preq.sector_number + preq.nr_sects, preq.dev); goto bad_descriptor; } #ifndef CONFIG_XEN_BLKDEV_GRANT if ( operation == READ ) remap_prot = _PAGE_PRESENT|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW; else remap_prot = _PAGE_PRESENT|_PAGE_DIRTY|_PAGE_ACCESSED; for ( i = 0; i < nseg; i++ ) { mcl[i].op = __HYPERVISOR_update_va_mapping_otherdomain; mcl[i].args[0] = MMAP_VADDR(pending_idx, i); mcl[i].args[1] = (seg[i].buf & PAGE_MASK) | remap_prot; mcl[i].args[2] = 0; mcl[i].args[3] = blkif->domid; #ifdef CONFIG_XEN_BLKDEV_TAP_BE if ( blkif->is_blktap ) mcl[i].args[3] = ID_TO_DOM(req->id); #endif phys_to_machine_mapping[__pa(MMAP_VADDR(pending_idx, i))>>PAGE_SHIFT] = FOREIGN_FRAME(seg[i].buf >> PAGE_SHIFT); } BUG_ON(HYPERVISOR_multicall(mcl, nseg) != 0); for ( i = 0; i < nseg; i++ ) { if ( unlikely(mcl[i].args[5] != 0) ) { DPRINTK("invalid buffer -- could not remap it\n"); fast_flush_area(pending_idx, nseg); goto bad_descriptor; } } #endif /* end ifndef CONFIG_XEN_BLKDEV_GRANT */ pending_req = &pending_reqs[pending_idx]; pending_req->blkif = blkif; pending_req->id = req->id; pending_req->operation = operation; pending_req->status = BLKIF_RSP_OKAY; pending_req->nr_pages = nseg; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) atomic_set(&pending_req->pendcnt, nseg); pending_cons++; blkif_get(blkif); for ( i = 0; i < nseg; i++ ) { bh = kmem_cache_alloc(buffer_head_cachep, GFP_KERNEL); if ( unlikely(bh == NULL) ) { __end_block_io_op(pending_req, 0); continue; } memset(bh, 0, sizeof (struct buffer_head)); init_waitqueue_head(&bh->b_wait); bh->b_size = seg[i].nsec << 9; bh->b_dev = preq.dev; bh->b_rdev = preq.dev; bh->b_rsector = (unsigned long)preq.sector_number; bh->b_data = (char *)MMAP_VADDR(pending_idx, i) + (seg[i].buf & ~PAGE_MASK); bh->b_page = virt_to_page(MMAP_VADDR(pending_idx, i)); bh->b_end_io = end_block_io_op; bh->b_private = pending_req; bh->b_state = (1 << BH_Mapped) | (1 << BH_Lock) | (1 << BH_Req) | (1 << BH_Launder); if ( operation == WRITE ) bh->b_state |= (1 << BH_JBD) | (1 << BH_Req) | (1 << BH_Uptodate); atomic_set(&bh->b_count, 1); /* Dispatch a single request. We'll flush it to disc later. */ generic_make_request(operation, bh); preq.sector_number += seg[i].nsec; } #else for ( i = 0; i < nseg; i++ ) { while ( (bio == NULL) || (bio_add_page(bio, virt_to_page(MMAP_VADDR(pending_idx, i)), seg[i].nsec << 9, seg[i].buf & ~PAGE_MASK) == 0) ) { bio = biolist[nbio++] = bio_alloc(GFP_KERNEL, nseg-i); if ( unlikely(bio == NULL) ) { for ( i = 0; i < (nbio-1); i++ ) bio_put(biolist[i]); fast_flush_area(pending_idx, nseg); goto bad_descriptor; } bio->bi_bdev = preq.bdev; bio->bi_private = pending_req; bio->bi_end_io = end_block_io_op; bio->bi_sector = preq.sector_number; } preq.sector_number += seg[i].nsec; } printk("cwc:%s: post bio_add_page\n", __FUNCTION__); if ( (q = bdev_get_queue(bio->bi_bdev)) != plugged_queue ) { flush_plugged_queue(); blk_get_queue(q); plugged_queue = q; } atomic_set(&pending_req->pendcnt, nbio); pending_cons++; blkif_get(blkif); for ( i = 0; i < nbio; i++ ) submit_bio(operation, biolist[i]); #endif printk("cwc:%s: %d bios submitted\n", __FUNCTION__, nbio); return; bad_descriptor: make_response(blkif, req->id, req->operation, BLKIF_RSP_ERROR); printk("cwc:%s: %d bad descriptor\n", __FUNCTION__); } /****************************************************************** * MISCELLANEOUS SETUP / TEARDOWN / DEBUGGING */ static void make_response(blkif_t *blkif, unsigned long id, unsigned short op, int st) { blkif_response_t *resp; unsigned long flags; blkif_back_ring_t *blk_ring = &blkif->blk_ring; /* Place on the response ring for the relevant domain. */ spin_lock_irqsave(&blkif->blk_ring_lock, flags); resp = RING_GET_RESPONSE(blk_ring, blk_ring->rsp_prod_pvt); resp->id = id; resp->operation = op; resp->status = st; wmb(); /* Ensure other side can see the response fields. */ blk_ring->rsp_prod_pvt++; RING_PUSH_RESPONSES(blk_ring); spin_unlock_irqrestore(&blkif->blk_ring_lock, flags); /* Kick the relevant domain. */ notify_via_evtchn(blkif->evtchn); } void blkif_deschedule(blkif_t *blkif) { remove_from_blkdev_list(blkif); } static int __init blkif_init(void) { int i; if ( !(xen_start_info.flags & SIF_INITDOMAIN) && !(xen_start_info.flags & SIF_BLK_BE_DOMAIN) ) return 0; blkif_interface_init(); if ( (mmap_vstart = allocate_empty_lowmem_region(MMAP_PAGES)) == 0 ) BUG(); pending_cons = 0; pending_prod = MAX_PENDING_REQS; memset(pending_reqs, 0, sizeof(pending_reqs)); for ( i = 0; i < MAX_PENDING_REQS; i++ ) pending_ring[i] = i; spin_lock_init(&blkio_schedule_list_lock); INIT_LIST_HEAD(&blkio_schedule_list); if ( kernel_thread(blkio_schedule, 0, CLONE_FS | CLONE_FILES) < 0 ) BUG(); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) buffer_head_cachep = kmem_cache_create( "buffer_head_cache", sizeof(struct buffer_head), 0, SLAB_HWCACHE_ALIGN, NULL, NULL); #endif blkif_ctrlif_init(); #ifdef CONFIG_XEN_BLKDEV_GRANT memset( pending_grant_handles, BLKBACK_INVALID_HANDLE, MMAP_PAGES ); printk(KERN_ALERT "Blkif backend is using grant tables.\n"); #endif #ifdef CONFIG_XEN_BLKDEV_TAP_BE printk(KERN_ALERT "NOTE: Blkif backend is running with tap support on!\n"); #endif return 0; } __initcall(blkif_init); [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #4: blkfront.c --] [-- Type: text/x-csrc; name="blkfront.c", Size: 43478 bytes --] /****************************************************************************** * blkfront.c * * XenLinux virtual block-device driver. * * Copyright (c) 2003-2004, Keir Fraser & Steve Hand * Modifications by Mark A. Williamson are (c) Intel Research Cambridge * Copyright (c) 2004, Christian Limpach * Copyright (c) 2004, Andrew Warfield * Copyright (c) 2005, Christopher Clark * * This file may be distributed separately from the Linux kernel, or * incorporated into other software packages, subject to the following license: * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this source file (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, modify, * merge, publish, distribute, sublicense, and/or sell copies of the Software, * and to permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ #if 1 #define ASSERT(_p) \ if ( !(_p) ) { printk("Assertion '%s' failed, line %d, file %s", #_p , \ __LINE__, __FILE__); *(int*)0=0; } #else #define ASSERT(_p) #endif #include <linux/version.h> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) #include "block.h" #else #include "common.h" #include <linux/blk.h> #include <linux/tqueue.h> #endif #include <linux/cdrom.h> #include <linux/sched.h> #include <linux/interrupt.h> #include <scsi/scsi.h> #include <asm-xen/ctrl_if.h> #include <asm-xen/evtchn.h> #ifdef CONFIG_XEN_BLKDEV_GRANT #include <asm-xen/xen-public/grant_table.h> #include <asm-xen/gnttab.h> #endif typedef unsigned char byte; /* from linux/ide.h */ /* Control whether runtime update of vbds is enabled. */ #define ENABLE_VBD_UPDATE 1 #if ENABLE_VBD_UPDATE static void vbd_update(void); #else static void vbd_update(void){}; #endif #define BLKIF_STATE_CLOSED 0 #define BLKIF_STATE_DISCONNECTED 1 #define BLKIF_STATE_CONNECTED 2 #define WPRINTK(fmt, args...) printk(KERN_WARNING "xen_blk: " fmt, ##args) static int blkif_handle = 0; static unsigned int blkif_state = BLKIF_STATE_CLOSED; static unsigned int blkif_evtchn = 0; static unsigned int blkif_irq = 0; static int blkif_control_rsp_valid; static blkif_response_t blkif_control_rsp; static blkif_front_ring_t blk_ring; #define BLK_RING_SIZE __RING_SIZE((blkif_sring_t *)0, PAGE_SIZE) #ifdef CONFIG_XEN_BLKDEV_GRANT static domid_t rdomid = 0; static grant_ref_t gref_head, gref_terminal; #define MAXIMUM_OUTSTANDING_BLOCK_REQS \ (BLKIF_MAX_SEGMENTS_PER_REQUEST * BLKIF_RING_SIZE) #endif unsigned long rec_ring_free; blkif_request_t rec_ring[BLK_RING_SIZE]; static int recovery = 0; /* "Recovery in progress" flag. Protected * by the blkif_io_lock */ static void kick_pending_request_queues(void); int __init xlblk_init(void); void blkif_completion( blkif_request_t *req ); static inline int GET_ID_FROM_FREELIST( void ) { unsigned long free = rec_ring_free; BUG_ON(free > BLK_RING_SIZE); rec_ring_free = rec_ring[free].id; rec_ring[free].id = 0x0fffffee; /* debug */ return free; } static inline void ADD_ID_TO_FREELIST( unsigned long id ) { rec_ring[id].id = rec_ring_free; rec_ring_free = id; } /************************ COMMON CODE (inlined) ************************/ /* Kernel-specific definitions used in the common code */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) #define DISABLE_SCATTERGATHER() #else static int sg_operation = -1; #define DISABLE_SCATTERGATHER() (sg_operation = -1) #endif static inline void translate_req_to_pfn(blkif_request_t *xreq, blkif_request_t *req) { int i; xreq->operation = req->operation; xreq->nr_segments = req->nr_segments; xreq->device = req->device; /* preserve id */ xreq->sector_number = req->sector_number; for ( i = 0; i < req->nr_segments; i++ ) #ifdef CONFIG_XEN_BLKDEV_GRANT xreq->frame_and_sects[i] = req->frame_and_sects[i]; #else xreq->frame_and_sects[i] = machine_to_phys(req->frame_and_sects[i]); #endif } static inline void translate_req_to_mfn(blkif_request_t *xreq, blkif_request_t *req) { int i; xreq->operation = req->operation; xreq->nr_segments = req->nr_segments; xreq->device = req->device; xreq->id = req->id; /* copy id (unlike above) */ xreq->sector_number = req->sector_number; for ( i = 0; i < req->nr_segments; i++ ) #ifdef CONFIG_XEN_BLKDEV_GRANT xreq->frame_and_sects[i] = req->frame_and_sects[i]; #else xreq->frame_and_sects[i] = phys_to_machine(req->frame_and_sects[i]); #endif } static inline void flush_requests(void) { DISABLE_SCATTERGATHER(); RING_PUSH_REQUESTS(&blk_ring); notify_via_evtchn(blkif_evtchn); } /************************** KERNEL VERSION 2.6 **************************/ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) module_init(xlblk_init); #if ENABLE_VBD_UPDATE static void update_vbds_task(void *unused) { xlvbd_update_vbds(); } static void vbd_update(void) { static DECLARE_WORK(update_tq, update_vbds_task, NULL); schedule_work(&update_tq); } #endif /* ENABLE_VBD_UPDATE */ static void kick_pending_request_queues(void) { if ( (xlbd_blk_queue != NULL) && test_bit(QUEUE_FLAG_STOPPED, &xlbd_blk_queue->queue_flags) ) { blk_start_queue(xlbd_blk_queue); /* XXXcl call to request_fn should not be needed but * we get stuck without... needs investigating */ xlbd_blk_queue->request_fn(xlbd_blk_queue); } } int blkif_open(struct inode *inode, struct file *filep) { struct gendisk *gd = inode->i_bdev->bd_disk; struct xlbd_disk_info *di = (struct xlbd_disk_info *)gd->private_data; printk("cwc:%s: called\n", __FUNCTION__); /* Update of usage count is protected by per-device semaphore. */ di->mi->usage++; return 0; } int blkif_release(struct inode *inode, struct file *filep) { struct gendisk *gd = inode->i_bdev->bd_disk; struct xlbd_disk_info *di = (struct xlbd_disk_info *)gd->private_data; printk("cwc:%s: called\n", __FUNCTION__); /* * When usage drops to zero it may allow more VBD updates to occur. * Update of usage count is protected by a per-device semaphore. */ if (--di->mi->usage == 0) { vbd_update(); } return 0; } int blkif_ioctl(struct inode *inode, struct file *filep, unsigned command, unsigned long argument) { int i; printk("cwc:%s: called\n", __FUNCTION__); DPRINTK_IOCTL("command: 0x%x, argument: 0x%lx, dev: 0x%04x\n", command, (long)argument, inode->i_rdev); switch (command) { case HDIO_GETGEO: /* return ENOSYS to use defaults */ return -ENOSYS; case CDROMMULTISESSION: DPRINTK("FIXME: support multisession CDs later\n"); for ( i = 0; i < sizeof(struct cdrom_multisession); i++ ) if ( put_user(0, (byte *)(argument + i)) ) return -EFAULT; return 0; default: printk(KERN_ALERT "ioctl %08x not supported by Xen blkdev\n", command); return -ENOSYS; } return 0; } /* * blkif_queue_request * * request block io * * id: for guest use only. * operation: BLKIF_OP_{READ,WRITE,PROBE} * buffer: buffer to read/write into. this should be a * virtual address in the guest os. */ static int blkif_queue_request(struct request *req) { struct xlbd_disk_info *di = (struct xlbd_disk_info *)req->rq_disk->private_data; unsigned long buffer_ma; blkif_request_t *ring_req; struct bio *bio; struct bio_vec *bvec; int idx; unsigned long id; unsigned int fsect, lsect; #ifdef CONFIG_XEN_BLKDEV_GRANT int ref; #endif printk("cwc:%s: in blkif_state:%u\n", __FUNCTION__, blkif_state); if ( unlikely(blkif_state != BLKIF_STATE_CONNECTED) ) return 1; /* Fill out a communications ring structure. */ ring_req = RING_GET_REQUEST(&blk_ring, blk_ring.req_prod_pvt); id = GET_ID_FROM_FREELIST(); rec_ring[id].id = (unsigned long) req; ring_req->id = id; ring_req->operation = rq_data_dir(req) ? BLKIF_OP_WRITE : BLKIF_OP_READ; ring_req->sector_number = (blkif_sector_t)req->sector; ring_req->device = di->xd_device; ring_req->nr_segments = 0; rq_for_each_bio(bio, req) { bio_for_each_segment(bvec, bio, idx) { if ( ring_req->nr_segments == BLKIF_MAX_SEGMENTS_PER_REQUEST ) BUG(); buffer_ma = page_to_phys(bvec->bv_page); fsect = bvec->bv_offset >> 9; lsect = fsect + (bvec->bv_len >> 9) - 1; #ifdef CONFIG_XEN_BLKDEV_GRANT /* install a grant reference. */ ref = gnttab_claim_grant_reference(&gref_head, gref_terminal); ASSERT( ref != -ENOSPC ); gnttab_grant_foreign_access_ref( ref, rdomid, buffer_ma >> PAGE_SHIFT, rq_data_dir(req) ); ring_req->frame_and_sects[ring_req->nr_segments++] = (((u32) ref) << 16) | (fsect << 3) | lsect; #else ring_req->frame_and_sects[ring_req->nr_segments++] = buffer_ma | (fsect << 3) | lsect; #endif } } blk_ring.req_prod_pvt++; /* Keep a private copy so we can reissue requests when recovering. */ translate_req_to_pfn(&rec_ring[id], ring_req); printk("cwc:%s: out\n", __FUNCTION__); return 0; } /* * do_blkif_request * read a block; request is in a request queue */ void do_blkif_request(request_queue_t *rq) { struct request *req; int queued; printk("cwc:%s: called\n", __FUNCTION__); DPRINTK("Entered do_blkif_request\n"); queued = 0; while ((req = elv_next_request(rq)) != NULL) { if (!blk_fs_request(req)) { end_request(req, 0); continue; } if ( RING_FULL(&blk_ring) ) { blk_stop_queue(rq); break; } DPRINTK("do_blk_req %p: cmd %p, sec %lx, (%u/%li) buffer:%p [%s]\n", req, req->cmd, req->sector, req->current_nr_sectors, req->nr_sectors, req->buffer, rq_data_dir(req) ? "write" : "read"); blkdev_dequeue_request(req); if (blkif_queue_request(req)) { blk_stop_queue(rq); break; } queued++; } if (queued != 0) flush_requests(); } static irqreturn_t blkif_int(int irq, void *dev_id, struct pt_regs *ptregs) { struct request *req; blkif_response_t *bret; RING_IDX i, rp; unsigned long flags; printk("cwc:%s: pre spin_lock_irqsave\n", __FUNCTION__); spin_lock_irqsave(&blkif_io_lock, flags); printk("cwc:%s: post spin_lock_irqsave\n", __FUNCTION__); if ( unlikely(blkif_state == BLKIF_STATE_CLOSED) || unlikely(recovery) ) { spin_unlock_irqrestore(&blkif_io_lock, flags); printk("cwc:%s: spin_unlock_irqsave\n", __FUNCTION__); return IRQ_HANDLED; } rp = blk_ring.sring->rsp_prod; rmb(); /* Ensure we see queued responses up to 'rp'. */ for ( i = blk_ring.rsp_cons; i != rp; i++ ) { unsigned long id; bret = RING_GET_RESPONSE(&blk_ring, i); id = bret->id; req = (struct request *)rec_ring[id].id; printk("cwc:%s: blkif_completion call id %lu\n", __FUNCTION__, id); blkif_completion( &rec_ring[id] ); ADD_ID_TO_FREELIST(id); /* overwrites req */ switch ( bret->operation ) { case BLKIF_OP_READ: case BLKIF_OP_WRITE: if ( unlikely(bret->status != BLKIF_RSP_OKAY) ) DPRINTK("Bad return from blkdev data request: %x\n", bret->status); if ( unlikely(end_that_request_first (req, (bret->status == BLKIF_RSP_OKAY), req->hard_nr_sectors)) ) BUG(); end_that_request_last(req); break; case BLKIF_OP_PROBE: memcpy(&blkif_control_rsp, bret, sizeof(*bret)); blkif_control_rsp_valid = 1; break; default: BUG(); } } printk("cwc:%s: post loop\n", __FUNCTION__); blk_ring.rsp_cons = i; kick_pending_request_queues(); spin_unlock_irqrestore(&blkif_io_lock, flags); printk("cwc:%s: out unlock_irq_restore\n", __FUNCTION__); return IRQ_HANDLED; } #else /************************** KERNEL VERSION 2.4 **************************/ static kdev_t sg_dev; static unsigned long sg_next_sect; /* * Request queues with outstanding work, but ring is currently full. * We need no special lock here, as we always access this with the * blkif_io_lock held. We only need a small maximum list. */ #define MAX_PENDING 8 static request_queue_t *pending_queues[MAX_PENDING]; static int nr_pending; #define blkif_io_lock io_request_lock /*============================================================================*/ #if ENABLE_VBD_UPDATE /* * blkif_update_int/update-vbds_task - handle VBD update events. * Schedule a task for keventd to run, which will update the VBDs and perform * the corresponding updates to our view of VBD state. */ static void update_vbds_task(void *unused) { xlvbd_update_vbds(); } static void vbd_update(void) { static struct tq_struct update_tq; update_tq.routine = update_vbds_task; schedule_task(&update_tq); } #endif /* ENABLE_VBD_UPDATE */ /*============================================================================*/ static void kick_pending_request_queues(void) { /* We kick pending request queues if the ring is reasonably empty. */ if ( (nr_pending != 0) && (RING_PENDING_REQUESTS(&blk_ring) < (BLK_RING_SIZE >> 1)) ) { /* Attempt to drain the queue, but bail if the ring becomes full. */ while ( (nr_pending != 0) && !RING_FULL(&blk_ring) ) do_blkif_request(pending_queues[--nr_pending]); } } int blkif_open(struct inode *inode, struct file *filep) { short xldev = inode->i_rdev; struct gendisk *gd = get_gendisk(xldev); xl_disk_t *disk = xldev_to_xldisk(inode->i_rdev); short minor = MINOR(xldev); if ( gd->part[minor].nr_sects == 0 ) { /* * Device either doesn't exist, or has zero capacity; we use a few * cheesy heuristics to return the relevant error code */ if ( (gd->sizes[minor >> gd->minor_shift] != 0) || ((minor & (gd->max_p - 1)) != 0) ) { /* * We have a real device, but no such partition, or we just have a * partition number so guess this is the problem. */ return -ENXIO; /* no such device or address */ } else if ( gd->flags[minor >> gd->minor_shift] & GENHD_FL_REMOVABLE ) { /* This is a removable device => assume that media is missing. */ return -ENOMEDIUM; /* media not present (this is a guess) */ } else { /* Just go for the general 'no such device' error. */ return -ENODEV; /* no such device */ } } /* Update of usage count is protected by per-device semaphore. */ disk->usage++; return 0; } int blkif_release(struct inode *inode, struct file *filep) { xl_disk_t *disk = xldev_to_xldisk(inode->i_rdev); /* * When usage drops to zero it may allow more VBD updates to occur. * Update of usage count is protected by a per-device semaphore. */ if ( --disk->usage == 0 ) { vbd_update(); } return 0; } int blkif_ioctl(struct inode *inode, struct file *filep, unsigned command, unsigned long argument) { kdev_t dev = inode->i_rdev; struct hd_geometry *geo = (struct hd_geometry *)argument; struct gendisk *gd; struct hd_struct *part; int i; unsigned short cylinders; byte heads, sectors; /* NB. No need to check permissions. That is done for us. */ DPRINTK_IOCTL("command: 0x%x, argument: 0x%lx, dev: 0x%04x\n", command, (long) argument, dev); gd = get_gendisk(dev); part = &gd->part[MINOR(dev)]; switch ( command ) { case BLKGETSIZE: DPRINTK_IOCTL(" BLKGETSIZE: %x %lx\n", BLKGETSIZE, part->nr_sects); return put_user(part->nr_sects, (unsigned long *) argument); case BLKGETSIZE64: DPRINTK_IOCTL(" BLKGETSIZE64: %x %llx\n", BLKGETSIZE64, (u64)part->nr_sects * 512); return put_user((u64)part->nr_sects * 512, (u64 *) argument); case BLKRRPART: /* re-read partition table */ DPRINTK_IOCTL(" BLKRRPART: %x\n", BLKRRPART); return blkif_revalidate(dev); case BLKSSZGET: return hardsect_size[MAJOR(dev)][MINOR(dev)]; case BLKBSZGET: /* get block size */ DPRINTK_IOCTL(" BLKBSZGET: %x\n", BLKBSZGET); break; case BLKBSZSET: /* set block size */ DPRINTK_IOCTL(" BLKBSZSET: %x\n", BLKBSZSET); break; case BLKRASET: /* set read-ahead */ DPRINTK_IOCTL(" BLKRASET: %x\n", BLKRASET); break; case BLKRAGET: /* get read-ahead */ DPRINTK_IOCTL(" BLKRAFET: %x\n", BLKRAGET); break; case HDIO_GETGEO: DPRINTK_IOCTL(" HDIO_GETGEO: %x\n", HDIO_GETGEO); if (!argument) return -EINVAL; /* We don't have real geometry info, but let's at least return values consistent with the size of the device */ heads = 0xff; sectors = 0x3f; cylinders = part->nr_sects / (heads * sectors); if (put_user(0x00, (unsigned long *) &geo->start)) return -EFAULT; if (put_user(heads, (byte *)&geo->heads)) return -EFAULT; if (put_user(sectors, (byte *)&geo->sectors)) return -EFAULT; if (put_user(cylinders, (unsigned short *)&geo->cylinders)) return -EFAULT; return 0; case HDIO_GETGEO_BIG: DPRINTK_IOCTL(" HDIO_GETGEO_BIG: %x\n", HDIO_GETGEO_BIG); if (!argument) return -EINVAL; /* We don't have real geometry info, but let's at least return values consistent with the size of the device */ heads = 0xff; sectors = 0x3f; cylinders = part->nr_sects / (heads * sectors); if (put_user(0x00, (unsigned long *) &geo->start)) return -EFAULT; if (put_user(heads, (byte *)&geo->heads)) return -EFAULT; if (put_user(sectors, (byte *)&geo->sectors)) return -EFAULT; if (put_user(cylinders, (unsigned int *) &geo->cylinders)) return -EFAULT; return 0; case CDROMMULTISESSION: DPRINTK("FIXME: support multisession CDs later\n"); for ( i = 0; i < sizeof(struct cdrom_multisession); i++ ) if ( put_user(0, (byte *)(argument + i)) ) return -EFAULT; return 0; case SCSI_IOCTL_GET_BUS_NUMBER: DPRINTK("FIXME: SCSI_IOCTL_GET_BUS_NUMBER ioctl in XL blkif"); return -ENOSYS; default: printk(KERN_ALERT "ioctl %08x not supported by XL blkif\n", command); return -ENOSYS; } return 0; } /* check media change: should probably do something here in some cases :-) */ int blkif_check(kdev_t dev) { DPRINTK("blkif_check\n"); return 0; } int blkif_revalidate(kdev_t dev) { struct block_device *bd; struct gendisk *gd; xl_disk_t *disk; unsigned long capacity; int i, rc = 0; if ( (bd = bdget(dev)) == NULL ) return -EINVAL; /* * Update of partition info, and check of usage count, is protected * by the per-block-device semaphore. */ down(&bd->bd_sem); if ( ((gd = get_gendisk(dev)) == NULL) || ((disk = xldev_to_xldisk(dev)) == NULL) || ((capacity = gd->part[MINOR(dev)].nr_sects) == 0) ) { rc = -EINVAL; goto out; } if ( disk->usage > 1 ) { rc = -EBUSY; goto out; } /* Only reread partition table if VBDs aren't mapped to partitions. */ if ( !(gd->flags[MINOR(dev) >> gd->minor_shift] & GENHD_FL_VIRT_PARTNS) ) { for ( i = gd->max_p - 1; i >= 0; i-- ) { invalidate_device(dev+i, 1); gd->part[MINOR(dev+i)].start_sect = 0; gd->part[MINOR(dev+i)].nr_sects = 0; gd->sizes[MINOR(dev+i)] = 0; } grok_partitions(gd, MINOR(dev)>>gd->minor_shift, gd->max_p, capacity); } out: up(&bd->bd_sem); bdput(bd); return rc; } /* * blkif_queue_request * * request block io * * id: for guest use only. * operation: BLKIF_OP_{READ,WRITE,PROBE} * buffer: buffer to read/write into. this should be a * virtual address in the guest os. */ static int blkif_queue_request(unsigned long id, int operation, char * buffer, unsigned long sector_number, unsigned short nr_sectors, kdev_t device) { unsigned long buffer_ma = virt_to_bus(buffer); unsigned long xid; struct gendisk *gd; blkif_request_t *req; struct buffer_head *bh; unsigned int fsect, lsect; #ifdef CONFIG_XEN_BLKDEV_GRANT int ref; #endif printk("cwc:%s: in op:%d\n", __FUNCTION__, operation); fsect = (buffer_ma & ~PAGE_MASK) >> 9; lsect = fsect + nr_sectors - 1; /* Buffer must be sector-aligned. Extent mustn't cross a page boundary. */ if ( unlikely((buffer_ma & ((1<<9)-1)) != 0) ) BUG(); if ( lsect > 7 ) BUG(); buffer_ma &= PAGE_MASK; if ( unlikely(blkif_state != BLKIF_STATE_CONNECTED) ) return 1; switch ( operation ) { case BLKIF_OP_READ: case BLKIF_OP_WRITE: gd = get_gendisk(device); /* * Update the sector_number we'll pass down as appropriate; note that * we could sanity check that resulting sector will be in this * partition, but this will happen in driver backend anyhow. */ sector_number += gd->part[MINOR(device)].start_sect; /* * If this unit doesn't consist of virtual partitions then we clear * the partn bits from the device number. */ if ( !(gd->flags[MINOR(device)>>gd->minor_shift] & GENHD_FL_VIRT_PARTNS) ) device &= ~(gd->max_p - 1); if ( (sg_operation == operation) && (sg_dev == device) && (sg_next_sect == sector_number) ) { printk("cwc:%s: building req\n", __FUNCTION__); req = RING_GET_REQUEST(&blk_ring, blk_ring.req_prod_pvt - 1); bh = (struct buffer_head *)id; bh->b_reqnext = (struct buffer_head *)rec_ring[req->id].id; rec_ring[req->id].id = id; #ifdef CONFIG_XEN_BLKDEV_GRANT /* install a grant reference. */ ref = gnttab_claim_grant_reference(&gref_head, gref_terminal); ASSERT( ref != -ENOSPC ); gnttab_grant_foreign_access_ref( ref, rdomid, buffer_ma >> PAGE_SHIFT, ( operation == BLKIF_OP_WRITE ? 1 : 0 ) ); req->frame_and_sects[req->nr_segments] = (((u32) ref ) << 16) | (fsect << 3) | lsect; #else req->frame_and_sects[req->nr_segments] = buffer_ma | (fsect << 3) | lsect; #endif if ( ++req->nr_segments < BLKIF_MAX_SEGMENTS_PER_REQUEST ) sg_next_sect += nr_sectors; else DISABLE_SCATTERGATHER(); /* Update the copy of the request in the recovery ring. */ translate_req_to_pfn(&rec_ring[req->id], req ); printk("cwc:%s: access granted to %lx\n", __FUNCTION__, buffer_ma); return 0; } else if ( RING_FULL(&blk_ring) ) { printk("cwc:%s: ring full\n", __FUNCTION__); return 1; } else { sg_operation = operation; sg_dev = device; sg_next_sect = sector_number + nr_sectors; } break; default: { printk("cwc:%s: pre panic for unknown op %d\n", __FUNCTION__, operation); panic("unknown op %d\n", operation); } } printk("cwc:%s: mid\n", __FUNCTION__); /* Fill out a communications ring structure. */ req = RING_GET_REQUEST(&blk_ring, blk_ring.req_prod_pvt); xid = GET_ID_FROM_FREELIST(); rec_ring[xid].id = id; req->id = xid; req->operation = operation; req->sector_number = (blkif_sector_t)sector_number; req->device = device; req->nr_segments = 1; #ifdef CONFIG_XEN_BLKDEV_GRANT /* install a grant reference. */ ref = gnttab_claim_grant_reference(&gref_head, gref_terminal); ASSERT( ref != -ENOSPC ); gnttab_grant_foreign_access_ref( ref, rdomid, buffer_ma >> PAGE_SHIFT, ( operation == BLKIF_OP_WRITE ? 1 : 0 ) ); req->frame_and_sects[0] = (((u32) ref)<<16) | (fsect<<3) | lsect; #else req->frame_and_sects[0] = buffer_ma | (fsect<<3) | lsect; #endif /* Keep a private copy so we can reissue requests when recovering. */ translate_req_to_pfn(&rec_ring[xid], req ); blk_ring.req_prod_pvt++; printk("cwc:%s: out buf:%lx\n", __FUNCTION__, buffer_ma); return 0; } /* * do_blkif_request * read a block; request is in a request queue */ void do_blkif_request(request_queue_t *rq) { struct request *req; struct buffer_head *bh, *next_bh; int rw, nsect, full, queued = 0; DPRINTK("Entered do_blkif_request\n"); while ( !rq->plugged && !list_empty(&rq->queue_head)) { if ( (req = blkdev_entry_next_request(&rq->queue_head)) == NULL ) goto out; DPRINTK("do_blkif_request %p: cmd %i, sec %lx, (%li/%li) bh:%p\n", req, req->cmd, req->sector, req->current_nr_sectors, req->nr_sectors, req->bh); rw = req->cmd; if ( rw == READA ) rw = READ; if ( unlikely((rw != READ) && (rw != WRITE)) ) panic("XenoLinux Virtual Block Device: bad cmd: %d\n", rw); req->errors = 0; bh = req->bh; while ( bh != NULL ) { next_bh = bh->b_reqnext; bh->b_reqnext = NULL; full = blkif_queue_request( (unsigned long)bh, (rw == READ) ? BLKIF_OP_READ : BLKIF_OP_WRITE, bh->b_data, bh->b_rsector, bh->b_size>>9, bh->b_rdev); if ( full ) { bh->b_reqnext = next_bh; pending_queues[nr_pending++] = rq; if ( unlikely(nr_pending >= MAX_PENDING) ) BUG(); goto out; } queued++; /* Dequeue the buffer head from the request. */ nsect = bh->b_size >> 9; bh = req->bh = next_bh; if ( bh != NULL ) { /* There's another buffer head to do. Update the request. */ req->hard_sector += nsect; req->hard_nr_sectors -= nsect; req->sector = req->hard_sector; req->nr_sectors = req->hard_nr_sectors; req->current_nr_sectors = bh->b_size >> 9; req->buffer = bh->b_data; } else { /* That was the last buffer head. Finalise the request. */ if ( unlikely(end_that_request_first(req, 1, "XenBlk")) ) BUG(); blkdev_dequeue_request(req); end_that_request_last(req); } } } out: if ( queued != 0 ) flush_requests(); } static void blkif_int(int irq, void *dev_id, struct pt_regs *ptregs) { RING_IDX i, rp; unsigned long flags; struct buffer_head *bh, *next_bh; spin_lock_irqsave(&io_request_lock, flags); if ( unlikely(blkif_state == BLKIF_STATE_CLOSED || recovery) ) { spin_unlock_irqrestore(&io_request_lock, flags); return; } rp = blk_ring.sring->rsp_prod; rmb(); /* Ensure we see queued responses up to 'rp'. */ for ( i = blk_ring.rsp_cons; i != rp; i++ ) { unsigned long id; blkif_response_t *bret; bret = RING_GET_RESPONSE(&blk_ring, i); id = bret->id; bh = (struct buffer_head *)rec_ring[id].id; blkif_completion( &rec_ring[id] ); ADD_ID_TO_FREELIST(id); switch ( bret->operation ) { case BLKIF_OP_READ: case BLKIF_OP_WRITE: if ( unlikely(bret->status != BLKIF_RSP_OKAY) ) DPRINTK("Bad return from blkdev data request: %lx\n", bret->status); for ( ; bh != NULL; bh = next_bh ) { next_bh = bh->b_reqnext; bh->b_reqnext = NULL; bh->b_end_io(bh, bret->status == BLKIF_RSP_OKAY); } break; case BLKIF_OP_PROBE: memcpy(&blkif_control_rsp, bret, sizeof(*bret)); blkif_control_rsp_valid = 1; break; default: BUG(); } } blk_ring.rsp_cons = i; kick_pending_request_queues(); spin_unlock_irqrestore(&io_request_lock, flags); } #endif /***************************** COMMON CODE *******************************/ #ifdef CONFIG_XEN_BLKDEV_GRANT void blkif_control_probe_send(blkif_request_t *req, blkif_response_t *rsp, unsigned long address) { int ref = gnttab_claim_grant_reference(&gref_head, gref_terminal); ASSERT( ref != -ENOSPC ); gnttab_grant_foreign_access_ref( ref, rdomid, address >> PAGE_SHIFT, 0 ); printk("cwc:%s: grant access to buf:%lx\n", __FUNCTION__, address >> PAGE_SHIFT); req->frame_and_sects[0] = (((u32) ref) << 16) | 7; blkif_control_send(req, rsp); } #endif void blkif_control_send(blkif_request_t *req, blkif_response_t *rsp) { unsigned long flags, id; blkif_request_t *req_d; printk("cwc:%s: in\n", __FUNCTION__); retry: while ( RING_FULL(&blk_ring) ) { set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(1); } printk("cwc:%s: pre spin_lock_irqsave\n", __FUNCTION__); spin_lock_irqsave(&blkif_io_lock, flags); printk("cwc:%s: post spin_lock_irqsave\n", __FUNCTION__); if ( RING_FULL(&blk_ring) ) { printk("cwc:%s: spin_unlock_irqrestore\n", __FUNCTION__); spin_unlock_irqrestore(&blkif_io_lock, flags); goto retry; } DISABLE_SCATTERGATHER(); req_d = RING_GET_REQUEST(&blk_ring, blk_ring.req_prod_pvt); *req_d = *req; id = GET_ID_FROM_FREELIST(); req_d->id = id; rec_ring[id].id = (unsigned long) req; translate_req_to_pfn( &rec_ring[id], req ); blk_ring.req_prod_pvt++; flush_requests(); printk("cwc:%s: spin_unlock_irqrestore 2\n", __FUNCTION__); spin_unlock_irqrestore(&blkif_io_lock, flags); while ( !blkif_control_rsp_valid ) { set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(1); } memcpy(rsp, &blkif_control_rsp, sizeof(*rsp)); blkif_control_rsp_valid = 0; printk("cwc:%s: out\n", __FUNCTION__); } /* Send a driver status notification to the domain controller. */ static void send_driver_status(int ok) { ctrl_msg_t cmsg = { .type = CMSG_BLKIF_FE, .subtype = CMSG_BLKIF_FE_DRIVER_STATUS, .length = sizeof(blkif_fe_driver_status_t), }; blkif_fe_driver_status_t *msg = (void*)cmsg.msg; msg->status = (ok ? BLKIF_DRIVER_STATUS_UP : BLKIF_DRIVER_STATUS_DOWN); printk("cwc:%s: ctrl_if_send_message_block\n", __FUNCTION__); ctrl_if_send_message_block(&cmsg, NULL, 0, TASK_UNINTERRUPTIBLE); } /* Tell the controller to bring up the interface. */ static void blkif_send_interface_connect(void) { ctrl_msg_t cmsg = { .type = CMSG_BLKIF_FE, .subtype = CMSG_BLKIF_FE_INTERFACE_CONNECT, .length = sizeof(blkif_fe_interface_connect_t), }; blkif_fe_interface_connect_t *msg = (void*)cmsg.msg; msg->handle = 0; msg->shmem_frame = (virt_to_machine(blk_ring.sring) >> PAGE_SHIFT); printk("cwc:%s: ctrl_if_send_message_block\n", __FUNCTION__); ctrl_if_send_message_block(&cmsg, NULL, 0, TASK_UNINTERRUPTIBLE); } static void blkif_free(void) { /* Prevent new requests being issued until we fix things up. */ printk("cwc:%s: pre spin_lock_irq\n", __FUNCTION__); spin_lock_irq(&blkif_io_lock); printk("cwc:%s: post spin_lock_irq\n", __FUNCTION__); recovery = 1; blkif_state = BLKIF_STATE_DISCONNECTED; spin_unlock_irq(&blkif_io_lock); printk("cwc:%s: spin_unlock_irq\n", __FUNCTION__); /* Free resources associated with old device channel. */ if ( blk_ring.sring != NULL ) { free_page((unsigned long)blk_ring.sring); blk_ring.sring = NULL; } free_irq(blkif_irq, NULL); blkif_irq = 0; unbind_evtchn_from_irq(blkif_evtchn); blkif_evtchn = 0; printk("cwc:%s: out\n", __FUNCTION__); } static void blkif_close(void) { printk("cwc:%s: called\n", __FUNCTION__); } /* Move from CLOSED to DISCONNECTED state. */ static void blkif_disconnect(void) { blkif_sring_t *sring; printk("cwc:%s: called\n", __FUNCTION__); if ( blk_ring.sring != NULL ) free_page((unsigned long)blk_ring.sring); sring = (blkif_sring_t *)__get_free_page(GFP_KERNEL); SHARED_RING_INIT(sring); FRONT_RING_INIT(&blk_ring, sring, PAGE_SIZE); blkif_state = BLKIF_STATE_DISCONNECTED; blkif_send_interface_connect(); } static void blkif_reset(void) { printk("cwc:%s: called\n", __FUNCTION__); blkif_free(); blkif_disconnect(); } static void blkif_recover(void) { int i; blkif_request_t *req; printk("cwc:%s: in\n", __FUNCTION__); /* Hmm, requests might be re-ordered when we re-issue them. * This will need to be fixed once we have barriers */ /* Stage 1 : Find active and move to safety. */ for ( i = 0; i < BLK_RING_SIZE; i++ ) { if ( rec_ring[i].id >= PAGE_OFFSET ) { req = RING_GET_REQUEST(&blk_ring, blk_ring.req_prod_pvt); translate_req_to_mfn(req, &rec_ring[i]); blk_ring.req_prod_pvt++; } } printk("cwc:%s: post 1\n", __FUNCTION__); /* Stage 2 : Set up shadow list. */ for ( i = 0; i < blk_ring.req_prod_pvt; i++ ) { req = RING_GET_REQUEST(&blk_ring, i); rec_ring[i].id = req->id; req->id = i; translate_req_to_pfn(&rec_ring[i], req); } printk("cwc:%s: post 2\n", __FUNCTION__); /* Stage 3 : Set up free list. */ for ( ; i < BLK_RING_SIZE; i++ ) rec_ring[i].id = i+1; rec_ring_free = blk_ring.req_prod_pvt; rec_ring[BLK_RING_SIZE-1].id = 0x0fffffff; printk("cwc:%s: post 3\n", __FUNCTION__); /* blk_ring->req_prod will be set when we flush_requests().*/ wmb(); /* Switch off recovery mode, using a memory barrier to ensure that * it's seen before we flush requests - we don't want to miss any * interrupts. */ recovery = 0; wmb(); /* Kicks things back into life. */ flush_requests(); /* Now safe to left other peope use interface. */ blkif_state = BLKIF_STATE_CONNECTED; printk("cwc:%s: out\n", __FUNCTION__); } static void blkif_connect(blkif_fe_interface_status_t *status) { int err = 0; blkif_evtchn = status->evtchn; blkif_irq = bind_evtchn_to_irq(blkif_evtchn); #ifdef CONFIG_XEN_BLKDEV_GRANT rdomid = status->domid; #endif printk("cwc:%s: in\n", __FUNCTION__); err = request_irq(blkif_irq, blkif_int, SA_SAMPLE_RANDOM, "blkif", NULL); if ( err ) { printk(KERN_ALERT "xen_blk: request_irq failed (err=%d)\n", err); return; } if ( recovery ) { printk("cwc:%s: recovery\n", __FUNCTION__); blkif_recover(); } else { /* Transition to connected in case we need to do * a partition probe on a whole disk. */ blkif_state = BLKIF_STATE_CONNECTED; printk("cwc:%s: connected\n", __FUNCTION__); /* Probe for discs attached to the interface. */ xlvbd_init(); } /* Kick pending requests. */ printk("cwc:%s: pre spin_lock_irq\n", __FUNCTION__); spin_lock_irq(&blkif_io_lock); printk("cwc:%s: post spin_lock_irq\n", __FUNCTION__); kick_pending_request_queues(); spin_unlock_irq(&blkif_io_lock); printk("cwc:%s: spin_unlock_irq\n", __FUNCTION__); } static void unexpected(blkif_fe_interface_status_t *status) { DPRINTK(" Unexpected blkif status %u in state %u\n", status->status, blkif_state); } static void blkif_status(blkif_fe_interface_status_t *status) { if ( status->handle != blkif_handle ) { WPRINTK(" Invalid blkif: handle=%u\n", status->handle); unexpected(status); return; } printk("cwc:%s: status: %u\n", __FUNCTION__, status->status); switch ( status->status ) { case BLKIF_INTERFACE_STATUS_CLOSED: switch ( blkif_state ) { case BLKIF_STATE_CLOSED: unexpected(status); break; case BLKIF_STATE_DISCONNECTED: case BLKIF_STATE_CONNECTED: unexpected(status); blkif_close(); break; } break; case BLKIF_INTERFACE_STATUS_DISCONNECTED: switch ( blkif_state ) { case BLKIF_STATE_CLOSED: blkif_disconnect(); break; case BLKIF_STATE_DISCONNECTED: case BLKIF_STATE_CONNECTED: /* unexpected(status); */ /* occurs during suspend/resume */ blkif_reset(); break; } break; case BLKIF_INTERFACE_STATUS_CONNECTED: switch ( blkif_state ) { case BLKIF_STATE_CLOSED: unexpected(status); blkif_disconnect(); blkif_connect(status); break; case BLKIF_STATE_DISCONNECTED: blkif_connect(status); break; case BLKIF_STATE_CONNECTED: unexpected(status); blkif_connect(status); break; } break; case BLKIF_INTERFACE_STATUS_CHANGED: switch ( blkif_state ) { case BLKIF_STATE_CLOSED: case BLKIF_STATE_DISCONNECTED: unexpected(status); break; case BLKIF_STATE_CONNECTED: vbd_update(); break; } break; default: WPRINTK(" Invalid blkif status: %d\n", status->status); break; } } static void blkif_ctrlif_rx(ctrl_msg_t *msg, unsigned long id) { printk("cwc:%s: called\n", __FUNCTION__); switch ( msg->subtype ) { case CMSG_BLKIF_FE_INTERFACE_STATUS: blkif_status((blkif_fe_interface_status_t *) &msg->msg[0]); break; default: msg->length = 0; break; } ctrl_if_send_response(msg); } int wait_for_blkif(void) { int err = 0; int i; printk("cwc:%s: in\n", __FUNCTION__); send_driver_status(1); /* * We should read 'nr_interfaces' from response message and wait * for notifications before proceeding. For now we assume that we * will be notified of exactly one interface. */ for ( i=0; (blkif_state != BLKIF_STATE_CONNECTED) && (i < 10*HZ); i++ ) { set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(1); } if ( blkif_state != BLKIF_STATE_CONNECTED ) { printk(KERN_INFO "xen_blk: Timeout connecting to device!\n"); err = -ENOSYS; } printk("cwc:%s: out\n", __FUNCTION__); return err; } int __init xlblk_init(void) { int i; #ifdef CONFIG_XEN_BLKDEV_GRANT if ( 0 > gnttab_alloc_grant_references( MAXIMUM_OUTSTANDING_BLOCK_REQS, &gref_head, &gref_terminal )) return 1; printk(KERN_ALERT "Blkif frontend is using grant tables.\n"); #endif if ( (xen_start_info.flags & SIF_INITDOMAIN) || (xen_start_info.flags & SIF_BLK_BE_DOMAIN) ) return 0; printk(KERN_INFO "xen_blk: Initialising virtual block device driver\n"); rec_ring_free = 0; for ( i = 0; i < BLK_RING_SIZE; i++ ) rec_ring[i].id = i+1; rec_ring[BLK_RING_SIZE-1].id = 0x0fffffff; (void)ctrl_if_register_receiver(CMSG_BLKIF_FE, blkif_ctrlif_rx, CALLBACK_IN_BLOCKING_CONTEXT); wait_for_blkif(); return 0; } void blkdev_suspend(void) { printk("cwc:%s: called\n", __FUNCTION__); } void blkdev_resume(void) { printk("cwc:%s: called\n", __FUNCTION__); send_driver_status(1); } void blkif_completion(blkif_request_t *req) { int i; printk("cwc:%s: in\n", __FUNCTION__); #ifdef CONFIG_XEN_BLKDEV_GRANT grant_ref_t gref; for ( i = 0; i < req->nr_segments; i++ ) { gref = blkif_gref_from_fas(req->frame_and_sects[i]); gnttab_release_grant_reference(&gref_head, gref); } #else /* This is a hack to get the dirty logging bits set */ switch ( req->operation ) { case BLKIF_OP_READ: for ( i = 0; i < req->nr_segments; i++ ) { unsigned long pfn = req->frame_and_sects[i] >> PAGE_SHIFT; unsigned long mfn = phys_to_machine_mapping[pfn]; xen_machphys_update(mfn, pfn); } break; } #endif printk("cwc:%s: out\n", __FUNCTION__); } [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #5: grant_table.c --] [-- Type: text/x-csrc; name="grant_table.c", Size: 38468 bytes --] /****************************************************************************** * common/grant_table.c * * Mechanism for granting foreign access to page frames, and receiving * page-ownership transfers. * * Copyright (c) 2005 Christopher Clark * Copyright (c) 2004 K A Fraser * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #define GRANT_DEBUG 1 #define GRANT_DEBUG_VERBOSE 1 #include <xen/config.h> #include <xen/sched.h> #include <xen/shadow.h> #include <xen/mm.h> #define PIN_FAIL(_lbl, _rc, _f, _a...) \ do { \ DPRINTK( _f, ## _a ); \ rc = (_rc); \ goto _lbl; \ } while ( 0 ) static inline int get_maptrack_handle( grant_table_t *t) { unsigned int h; if ( unlikely((h = t->maptrack_head) == t->maptrack_limit) ) return -1; t->maptrack_head = t->maptrack[h].ref_and_flags >> MAPTRACK_REF_SHIFT; t->map_count++; return h; } static inline void put_maptrack_handle( grant_table_t *t, int handle) { t->maptrack[handle].ref_and_flags = t->maptrack_head << MAPTRACK_REF_SHIFT; t->maptrack_head = handle; t->map_count--; } static int __gnttab_activate_grant_ref( struct domain *mapping_d, /* IN */ struct exec_domain *mapping_ed, struct domain *granting_d, grant_ref_t ref, u16 dev_hst_ro_flags, unsigned long host_virt_addr, unsigned long *pframe ) /* OUT */ { domid_t sdom; u16 sflags; active_grant_entry_t *act; grant_entry_t *sha; s16 rc = 1; unsigned long frame = 0; int retries = 0; /* * Objectives of this function: * . Make the record ( granting_d, ref ) active, if not already. * . Update shared grant entry of owner, indicating frame is mapped. * . Increment the owner act->pin reference counts. * . get_page on shared frame if new mapping. * . get_page_type if this is first RW mapping of frame. * . Add PTE to virtual address space of mapping_d, if necessary. * Returns: * . -ve: error * . 1: ok * . 0: ok and TLB invalidate of host_virt_addr needed. * * On success, *pframe contains mfn. */ /* * We bound the number of times we retry CMPXCHG on memory locations that * we share with a guest OS. The reason is that the guest can modify that * location at a higher rate than we can read-modify-CMPXCHG, so the guest * could cause us to livelock. There are a few cases where it is valid for * the guest to race our updates (e.g., to change the GTF_readonly flag), * so we allow a few retries before failing. */ act = &granting_d->grant_table->active[ref]; sha = &granting_d->grant_table->shared[ref]; printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&granting_d->grant_table->lock); printk("cwc:%s: post spin_lock\n", __FUNCTION__); if ( act->pin == 0 ) { /* CASE 1: Activating a previously inactive entry. */ sflags = sha->flags; sdom = sha->domid; for ( ; ; ) { u32 scombo, prev_scombo, new_scombo; if ( unlikely((sflags & GTF_type_mask) != GTF_permit_access) || unlikely(sdom != mapping_d->id) ) PIN_FAIL(unlock_out, GNTST_general_error, "Bad flags (%x) or dom (%d). (NB. expected dom %d)\n", sflags, sdom, mapping_d->id); /* Merge two 16-bit values into a 32-bit combined update. */ /* NB. Endianness! */ prev_scombo = scombo = ((u32)sdom << 16) | (u32)sflags; new_scombo = scombo | GTF_reading; if ( !(dev_hst_ro_flags & GNTMAP_readonly) ) { new_scombo |= GTF_writing; if ( unlikely(sflags & GTF_readonly) ) PIN_FAIL(unlock_out, GNTST_general_error, "Attempt to write-pin a r/o grant entry.\n"); } /* NB. prev_scombo is updated in place to seen value. */ if ( unlikely(cmpxchg_user((u32 *)&sha->flags, prev_scombo, new_scombo)) ) PIN_FAIL(unlock_out, GNTST_general_error, "Fault while modifying shared flags and domid.\n"); /* Did the combined update work (did we see what we expected?). */ if ( likely(prev_scombo == scombo) ) break; if ( retries++ == 4 ) PIN_FAIL(unlock_out, GNTST_general_error, "Shared grant entry is unstable.\n"); /* Didn't see what we expected. Split out the seen flags & dom. */ /* NB. Endianness! */ sflags = (u16)prev_scombo; sdom = (u16)(prev_scombo >> 16); } /* rmb(); */ /* not on x86 */ frame = __gpfn_to_mfn_foreign(granting_d, sha->frame); if ( unlikely(!pfn_is_ram(frame)) || unlikely(!((dev_hst_ro_flags & GNTMAP_readonly) ? get_page(&frame_table[frame], granting_d) : get_page_and_type(&frame_table[frame], granting_d, PGT_writable_page))) ) { clear_bit(_GTF_writing, &sha->flags); clear_bit(_GTF_reading, &sha->flags); PIN_FAIL(unlock_out, GNTST_general_error, "Could not pin the granted frame (%lx)!\n", frame); } if ( dev_hst_ro_flags & GNTMAP_device_map ) act->pin += (dev_hst_ro_flags & GNTMAP_readonly) ? GNTPIN_devr_inc : GNTPIN_devw_inc; if ( dev_hst_ro_flags & GNTMAP_host_map ) act->pin += (dev_hst_ro_flags & GNTMAP_readonly) ? GNTPIN_hstr_inc : GNTPIN_hstw_inc; act->domid = sdom; act->frame = frame; } else { /* CASE 2: Active modications to an already active entry. */ /* * A cheesy check for possible pin-count overflow. * A more accurate check cannot be done with a single comparison. */ if ( (act->pin & 0x80808080U) != 0 ) PIN_FAIL(unlock_out, ENOSPC, "Risk of counter overflow %08x\n", act->pin); frame = act->frame; if ( !(dev_hst_ro_flags & GNTMAP_readonly) && !((sflags = sha->flags) & GTF_writing) ) { for ( ; ; ) { u16 prev_sflags; if ( unlikely(sflags & GTF_readonly) ) PIN_FAIL(unlock_out, GNTST_general_error, "Attempt to write-pin a r/o grant entry.\n"); prev_sflags = sflags; /* NB. prev_sflags is updated in place to seen value. */ if ( unlikely(cmpxchg_user(&sha->flags, prev_sflags, prev_sflags | GTF_writing)) ) PIN_FAIL(unlock_out, GNTST_general_error, "Fault while modifying shared flags.\n"); if ( likely(prev_sflags == sflags) ) break; if ( retries++ == 4 ) PIN_FAIL(unlock_out, GNTST_general_error, "Shared grant entry is unstable.\n"); sflags = prev_sflags; } if ( unlikely(!get_page_type(&frame_table[frame], PGT_writable_page)) ) { clear_bit(_GTF_writing, &sha->flags); PIN_FAIL(unlock_out, GNTST_general_error, "Attempt to write-pin a unwritable page.\n"); } } if ( dev_hst_ro_flags & GNTMAP_device_map ) act->pin += (dev_hst_ro_flags & GNTMAP_readonly) ? GNTPIN_devr_inc : GNTPIN_devw_inc; if ( dev_hst_ro_flags & GNTMAP_host_map ) act->pin += (dev_hst_ro_flags & GNTMAP_readonly) ? GNTPIN_hstr_inc : GNTPIN_hstw_inc; } /* At this point: * act->pin updated to reflect mapping. * sha->flags updated to indicate to granting domain mapping done. * frame contains the mfn. */ spin_unlock(&granting_d->grant_table->lock); printk("cwc:%s: spin_unlock\n", __FUNCTION__); if ( (host_virt_addr != 0) && (dev_hst_ro_flags & GNTMAP_host_map) ) { /* Write update into the pagetable */ rc = update_grant_va_mapping( host_virt_addr, (frame << PAGE_SHIFT) | _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY | ((dev_hst_ro_flags & GNTMAP_readonly) ? 0 : _PAGE_RW), mapping_d, mapping_ed ); /* IMPORTANT: (rc == 0) => must flush / invalidate entry in TLB. * This is done in the outer gnttab_map_grant_ref. */ if ( 0 > rc ) { /* Abort. */ printk("cwc:%s: pre spin_lock 2\n", __FUNCTION__); spin_lock(&granting_d->grant_table->lock); printk("cwc:%s: post spin_lock 2\n", __FUNCTION__); if ( dev_hst_ro_flags & GNTMAP_readonly ) act->pin -= GNTPIN_hstr_inc; else { act->pin -= GNTPIN_hstw_inc; if ( (act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) == 0 ) { clear_bit(_GTF_writing, &sha->flags); put_page_type(&frame_table[frame]); } } if ( act->pin == 0 ) { clear_bit(_GTF_reading, &sha->flags); put_page(&frame_table[frame]); } spin_unlock(&granting_d->grant_table->lock); printk("cwc:%s: spin_unlock 2\n", __FUNCTION__); } } *pframe = frame; printk("cwc:%s: out\n", __FUNCTION__); return rc; unlock_out: spin_unlock(&granting_d->grant_table->lock); printk("cwc:%s: spin_unlock out\n", __FUNCTION__); return rc; } static int __gnttab_map_grant_ref( gnttab_map_grant_ref_t *uop, unsigned long *va) { domid_t dom; grant_ref_t ref; struct domain *ld, *rd; struct exec_domain *led; u16 dev_hst_ro_flags; int handle; unsigned long frame, host_virt_addr; int rc; /* Returns 0 if TLB flush / invalidate required by caller. * va will indicate the address to be invalidated. */ led = current; ld = led->domain; /* Bitwise-OR avoids short-circuiting which screws control flow. */ if ( unlikely(__get_user(dom, &uop->dom) | __get_user(ref, &uop->ref) | __get_user(host_virt_addr, &uop->host_virt_addr) | __get_user(dev_hst_ro_flags, &uop->flags)) ) { DPRINTK("Fault while reading gnttab_map_grant_ref_t.\n"); return -EFAULT; /* don't set status */ } if ( ((host_virt_addr != 0) || (dev_hst_ro_flags & GNTMAP_host_map) ) && unlikely(!__addr_ok(host_virt_addr))) { DPRINTK("Bad virtual address (%x) or flags (%x).\n", host_virt_addr, dev_hst_ro_flags); (void)__put_user(GNTST_bad_virt_addr, &uop->handle); return GNTST_bad_gntref; } if ( unlikely(ref >= NR_GRANT_ENTRIES) || unlikely((dev_hst_ro_flags & (GNTMAP_device_map|GNTMAP_host_map)) == 0) ) { DPRINTK("Bad ref (%d) or flags (%x).\n", ref, dev_hst_ro_flags); (void)__put_user(GNTST_bad_gntref, &uop->handle); return GNTST_bad_gntref; } if ( unlikely((rd = find_domain_by_id(dom)) == NULL) || unlikely(ld == rd) ) { if ( rd != NULL ) put_domain(rd); DPRINTK("Could not find domain %d\n", dom); (void)__put_user(GNTST_bad_domain, &uop->handle); return GNTST_bad_domain; } /* get a maptrack handle */ if ( unlikely((handle = get_maptrack_handle(ld->grant_table)) == -1) ) { int i; grant_mapping_t *new_mt; grant_table_t *lgt = ld->grant_table; /* grow the maptrack table */ if ( (new_mt = (void *)alloc_xenheap_pages(lgt->maptrack_order + 1)) == NULL ) { put_domain(rd); DPRINTK("No more map handles available\n"); (void)__put_user(GNTST_no_device_space, &uop->handle); return GNTST_no_device_space; } memcpy(new_mt, lgt->maptrack, PAGE_SIZE << lgt->maptrack_order); for ( i = lgt->maptrack_limit; i < (lgt->maptrack_limit << 1); i++ ) new_mt[i].ref_and_flags = (i+1) << MAPTRACK_REF_SHIFT; free_xenheap_pages((unsigned long)lgt->maptrack, lgt->maptrack_order); lgt->maptrack = new_mt; lgt->maptrack_order += 1; lgt->maptrack_limit <<= 1; printk("Doubled maptrack size\n"); handle = get_maptrack_handle(ld->grant_table); } #if GRANT_DEBUG_VERBOSE DPRINTK("Mapping grant ref (%hu) for domain (%hu) with flags (%x)\n", ref, dom, dev_hst_ro_flags); #endif if ( 0 <= ( rc = __gnttab_activate_grant_ref( ld, led, rd, ref, dev_hst_ro_flags, host_virt_addr, &frame))) { /* Only make the maptrack live _after_ writing the pte, * in case we overwrite the same frame number, causing a * maptrack walk to find it */ ld->grant_table->maptrack[handle].domid = dom; ld->grant_table->maptrack[handle].ref_and_flags = (ref << MAPTRACK_REF_SHIFT) | (dev_hst_ro_flags & MAPTRACK_GNTMAP_MASK); (void)__put_user(frame, &uop->dev_bus_addr); if ( dev_hst_ro_flags & GNTMAP_host_map ) *va = host_virt_addr; (void)__put_user(handle, &uop->handle); } else { (void)__put_user(rc, &uop->handle); put_maptrack_handle(ld->grant_table, handle); } put_domain(rd); return rc; } static long gnttab_map_grant_ref( gnttab_map_grant_ref_t *uop, unsigned int count) { int i, flush = 0; unsigned long va[8]; for ( i = 0; i < count; i++ ) if ( __gnttab_map_grant_ref(&uop[i], &va[ (flush < 8 ? flush : 0) ] ) == 0) flush++; if ( flush != 0 ) { if ( flush <= 8 ) for ( i = 0; i < flush; i++ ) flush_tlb_one_mask(current->domain->cpuset, va[i]); else local_flush_tlb(); } return 0; } static int __gnttab_unmap_grant_ref( gnttab_unmap_grant_ref_t *uop, unsigned long *va) { domid_t dom; grant_ref_t ref; u16 handle; struct domain *ld, *rd; active_grant_entry_t *act; grant_entry_t *sha; grant_mapping_t *map; u16 flags; s16 rc = 1; unsigned long frame, virt; ld = current->domain; /* Bitwise-OR avoids short-circuiting which screws control flow. */ if ( unlikely(__get_user(virt, &uop->host_virt_addr) | __get_user(frame, &uop->dev_bus_addr) | __get_user(handle, &uop->handle)) ) { DPRINTK("Fault while reading gnttab_unmap_grant_ref_t.\n"); return -EFAULT; /* don't set status */ } map = &ld->grant_table->maptrack[handle]; if ( unlikely(handle >= ld->grant_table->maptrack_limit) || unlikely(!(map->ref_and_flags & MAPTRACK_GNTMAP_MASK)) ) { DPRINTK("Bad handle (%d).\n", handle); (void)__put_user(GNTST_bad_handle, &uop->status); return GNTST_bad_handle; } dom = map->domid; ref = map->ref_and_flags >> MAPTRACK_REF_SHIFT; flags = map->ref_and_flags & MAPTRACK_GNTMAP_MASK; if ( unlikely((rd = find_domain_by_id(dom)) == NULL) || unlikely(ld == rd) ) { if ( rd != NULL ) put_domain(rd); DPRINTK("Could not find domain %d\n", dom); (void)__put_user(GNTST_bad_domain, &uop->status); return GNTST_bad_domain; } #if GRANT_DEBUG_VERBOSE DPRINTK("Unmapping grant ref (%hu) for domain (%hu) with handle (%hu)\n", ref, dom, handle); #endif act = &rd->grant_table->active[ref]; sha = &rd->grant_table->shared[ref]; printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&rd->grant_table->lock); printk("cwc:%s: post spin_lock\n", __FUNCTION__); if ( frame == 0 ) frame = act->frame; else if ( frame == GNTUNMAP_DEV_FROM_VIRT ) { if ( !( flags & GNTMAP_device_map ) ) PIN_FAIL(unmap_out, GNTST_bad_dev_addr, "Bad frame number: frame not mapped for device access.\n"); frame = act->frame; /* frame will be unmapped for device access below if virt addr ok */ } else { if ( unlikely(frame != act->frame) ) PIN_FAIL(unmap_out, GNTST_general_error, "Bad frame number doesn't match gntref.\n"); if ( flags & GNTMAP_device_map ) act->pin -= (flags & GNTMAP_readonly) ? GNTPIN_devr_inc : GNTPIN_devw_inc; map->ref_and_flags &= ~GNTMAP_device_map; (void)__put_user(0, &uop->dev_bus_addr); /* frame is now unmapped for device access */ } if ( (virt != 0) && (flags & GNTMAP_host_map) && ((act->pin & (GNTPIN_hstw_mask | GNTPIN_hstr_mask)) > 0)) { l1_pgentry_t *pl1e; unsigned long _ol1e; pl1e = &linear_pg_table[l1_linear_offset(virt)]; if ( unlikely(__get_user(_ol1e, (unsigned long *)pl1e) != 0) ) { DPRINTK("Could not find PTE entry for address %x\n", virt); rc = -EINVAL; goto unmap_out; } /* check that the virtual address supplied is actually * mapped to act->frame. */ if ( unlikely((_ol1e >> PAGE_SHIFT) != frame )) { DPRINTK("PTE entry %x for address %x doesn't match frame %x\n", _ol1e, virt, frame); rc = -EINVAL; goto unmap_out; } printk("cwc:%s: pre pagetable delete\n", __FUNCTION__); /* Delete pagetable entry */ if ( unlikely(__put_user(0, (unsigned long *)pl1e))) { DPRINTK("Cannot delete PTE entry at %x for virtual address %x\n", pl1e, virt); rc = -EINVAL; goto unmap_out; } map->ref_and_flags &= ~GNTMAP_host_map; act->pin -= (flags & GNTMAP_readonly) ? GNTPIN_hstr_inc : GNTPIN_hstw_inc; if ( frame == GNTUNMAP_DEV_FROM_VIRT ) { act->pin -= (flags & GNTMAP_readonly) ? GNTPIN_devr_inc : GNTPIN_devw_inc; map->ref_and_flags &= ~GNTMAP_device_map; (void)__put_user(0, &uop->dev_bus_addr); } rc = 0; *va = virt; printk("cwc:%s: post pagetable delete\n", __FUNCTION__); } if ( (map->ref_and_flags & (GNTMAP_device_map|GNTMAP_host_map)) == 0) { map->ref_and_flags = 0; put_maptrack_handle(ld->grant_table, handle); } /* If just unmapped a writable mapping, mark as dirtied */ if ( unlikely(shadow_mode_log_dirty(rd)) && !( flags & GNTMAP_readonly ) ) mark_dirty(rd, frame); /* If the last writable mapping has been removed, put_page_type */ if ( ( (act->pin & (GNTPIN_devw_mask|GNTPIN_hstw_mask) ) == 0) && ( !( flags & GNTMAP_readonly ) ) ) { clear_bit(_GTF_writing, &sha->flags); put_page_type(&frame_table[frame]); } if ( act->pin == 0 ) { clear_bit(_GTF_reading, &sha->flags); put_page(&frame_table[frame]); } unmap_out: (void)__put_user(rc, &uop->status); printk("cwc:%s: out spin_unlock\n", __FUNCTION__); spin_unlock(&rd->grant_table->lock); put_domain(rd); return rc; } static long gnttab_unmap_grant_ref( gnttab_unmap_grant_ref_t *uop, unsigned int count) { int i, flush = 0; unsigned long va[8]; for ( i = 0; i < count; i++ ) if ( __gnttab_unmap_grant_ref(&uop[i], &va[ (flush < 8 ? flush : 0) ] ) == 0) flush++; if ( flush != 0 ) { if ( flush <= 8 ) for ( i = 0; i < flush; i++ ) flush_tlb_one_mask(current->domain->cpuset, va[i]); else local_flush_tlb(); } return 0; } static long gnttab_setup_table( gnttab_setup_table_t *uop, unsigned int count) { gnttab_setup_table_t op; struct domain *d; int i; if ( count != 1 ) return -EINVAL; if ( unlikely(copy_from_user(&op, uop, sizeof(op)) != 0) ) { DPRINTK("Fault while reading gnttab_setup_table_t.\n"); return -EFAULT; } if ( unlikely(op.nr_frames > NR_GRANT_FRAMES) ) { DPRINTK("Xen only supports at most %d grant-table frames per domain.\n", NR_GRANT_FRAMES); (void)put_user(GNTST_general_error, &uop->status); return 0; } if ( op.dom == DOMID_SELF ) { op.dom = current->domain->id; } else if ( unlikely(!IS_PRIV(current->domain)) ) { (void)put_user(GNTST_permission_denied, &uop->status); return 0; } if ( unlikely((d = find_domain_by_id(op.dom)) == NULL) ) { DPRINTK("Bad domid %d.\n", op.dom); (void)put_user(GNTST_bad_domain, &uop->status); return 0; } if ( op.nr_frames <= NR_GRANT_FRAMES ) { ASSERT(d->grant_table != NULL); (void)put_user(GNTST_okay, &uop->status); for ( i = 0; i < op.nr_frames; i++ ) (void)put_user( ( virt_to_phys( (char*)(d->grant_table->shared)+(i*PAGE_SIZE) ) >> PAGE_SHIFT ), &uop->frame_list[i]); } put_domain(d); return 0; } #if GRANT_DEBUG static int gnttab_dump_table(gnttab_dump_table_t *uop) { grant_table_t *gt; gnttab_dump_table_t op; struct domain *d; u32 shared_mfn; active_grant_entry_t *act; grant_entry_t sha_copy; grant_mapping_t *maptrack; int i; if ( unlikely(copy_from_user(&op, uop, sizeof(op)) != 0) ) { DPRINTK("Fault while reading gnttab_dump_table_t.\n"); return -EFAULT; } if ( op.dom == DOMID_SELF ) { op.dom = current->domain->id; } if ( unlikely((d = find_domain_by_id(op.dom)) == NULL) ) { DPRINTK("Bad domid %d.\n", op.dom); (void)put_user(GNTST_bad_domain, &uop->status); return 0; } ASSERT(d->grant_table != NULL); gt = d->grant_table; (void)put_user(GNTST_okay, &uop->status); shared_mfn = virt_to_phys(d->grant_table->shared); DPRINTK("Grant table for dom (%hu) MFN (%x)\n", op.dom, shared_mfn); ASSERT(d->grant_table->active != NULL); ASSERT(d->grant_table->shared != NULL); ASSERT(d->grant_table->maptrack != NULL); for ( i = 0; i < NR_GRANT_ENTRIES; i++ ) { sha_copy = gt->shared[i]; if ( sha_copy.flags ) { DPRINTK("Grant: dom (%hu) SHARED (%d) flags:(%hx) dom:(%hu) frame:(%lx)\n", op.dom, i, sha_copy.flags, sha_copy.domid, sha_copy.frame); } } spin_lock(>->lock); for ( i = 0; i < NR_GRANT_ENTRIES; i++ ) { act = >->active[i]; if ( act->pin ) { DPRINTK("Grant: dom (%hu) ACTIVE (%d) pin:(%x) dom:(%hu) frame:(%lx)\n", op.dom, i, act->pin, act->domid, act->frame); } } for ( i = 0; i < gt->maptrack_limit; i++ ) { maptrack = >->maptrack[i]; if ( maptrack->ref_and_flags & MAPTRACK_GNTMAP_MASK ) { DPRINTK("Grant: dom (%hu) MAP (%d) ref:(%hu) flags:(%x) dom:(%hu)\n", op.dom, i, maptrack->ref_and_flags >> MAPTRACK_REF_SHIFT, maptrack->ref_and_flags & MAPTRACK_GNTMAP_MASK, maptrack->domid); } } spin_unlock(>->lock); put_domain(d); return 0; } #endif long do_grant_table_op( unsigned int cmd, void *uop, unsigned int count) { long rc; if ( count > 512 ) return -EINVAL; LOCK_BIGLOCK(current->domain); rc = -EFAULT; switch ( cmd ) { case GNTTABOP_map_grant_ref: if ( unlikely(!array_access_ok( VERIFY_WRITE, uop, count, sizeof(gnttab_map_grant_ref_t))) ) goto out; rc = gnttab_map_grant_ref((gnttab_map_grant_ref_t *)uop, count); break; case GNTTABOP_unmap_grant_ref: if ( unlikely(!array_access_ok( VERIFY_WRITE, uop, count, sizeof(gnttab_unmap_grant_ref_t))) ) goto out; rc = gnttab_unmap_grant_ref((gnttab_unmap_grant_ref_t *)uop, count); break; case GNTTABOP_setup_table: rc = gnttab_setup_table((gnttab_setup_table_t *)uop, count); break; #if GRANT_DEBUG case GNTTABOP_dump_table: rc = gnttab_dump_table((gnttab_dump_table_t *)uop); break; #endif default: rc = -ENOSYS; break; } out: UNLOCK_BIGLOCK(current->domain); return rc; } int gnttab_check_unmap( struct domain *rd, struct domain *ld, unsigned long frame, int readonly) { /* Called when put_page is invoked on a page belonging to a foreign domain. * Instead of decrementing the frame table ref count, locate the grant * table entry, if any, and if found, decrement that count. * Called a _lot_ at domain creation because pages mapped by priv domains * also traverse this. */ /* Note: if the same frame is mapped multiple times, and then one of * the ptes is overwritten, which maptrack handle gets invalidated? * Advice: don't do it. */ unsigned int handle, ref, refcount; grant_table_t *lgt, *rgt; active_grant_entry_t *act; grant_mapping_t *map; int found = 0; lgt = ld->grant_table; #if GRANT_DEBUG_VERBOSE if ( ld->id != 0 ) { DPRINTK("Foreign unref rd(%d) ld(%d) frm(%x) flgs(%x).\n", rd->id, ld->id, frame, readonly); } #endif /* Fast exit if we're not mapping anything using grant tables */ if ( lgt->map_count == 0 ) return 0; if ( get_domain(rd) == 0 ) { DPRINTK("gnttab_check_unmap: couldn't get_domain rd(%d)\n", rd->id); return 0; } rgt = rd->grant_table; for ( handle = 0; handle < lgt->maptrack_limit; handle++ ) { map = &lgt->maptrack[handle]; /* cwc22: if multiple grants of the same frame are disallowed, * then the readonly check here can be changed to cause an early abort * if we've matched on frame, but not on write permission. */ if ( ( map->ref_and_flags & MAPTRACK_GNTMAP_MASK ) && ( readonly ? 1 : (!(map->ref_and_flags & GNTMAP_readonly)))) { ref = (map->ref_and_flags >> MAPTRACK_REF_SHIFT); act = &rgt->active[ref]; printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&rgt->lock); printk("cwc:%s: post spin_lock\n", __FUNCTION__); if ( act->frame != frame ) { spin_unlock(&rgt->lock); printk("cwc:%s: not frame spin_unlock\n", __FUNCTION__); continue; } refcount = act->pin & ( readonly ? GNTPIN_hstr_mask : GNTPIN_hstw_mask ); if ( refcount == 0 ) { spin_unlock(&rgt->lock); printk("cwc:%s: refcount 0 spin_unlock\n", __FUNCTION__); continue; } /* gotcha */ DPRINTK("Grant unref rd(%d) ld(%d) frm(%x) flgs(%x).\n", rd->id, ld->id, frame, readonly); if ( readonly ) act->pin -= GNTPIN_hstr_inc; else { act->pin -= GNTPIN_hstw_inc; /* any more granted writable mappings? */ if ( (act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) == 0 ) { clear_bit(_GTF_writing, &rgt->shared[ref].flags); put_page_type(&frame_table[frame]); } } if ( act->pin == 0 ) { clear_bit(_GTF_reading, &rgt->shared[ref].flags); put_page(&frame_table[frame]); } spin_unlock(&rgt->lock); printk("cwc:%s: spin_unlock\n", __FUNCTION__); clear_bit(GNTMAP_host_map, &map->ref_and_flags); if ( !(map->ref_and_flags & GNTMAP_device_map) ) put_maptrack_handle(lgt, handle); found = 1; break; } } put_domain(rd); printk("cwc:%s: out found:%d\n", __FUNCTION__, found); return found; } int gnttab_prepare_for_transfer( struct domain *rd, struct domain *ld, grant_ref_t ref) { grant_table_t *rgt; grant_entry_t *sha; domid_t sdom; u16 sflags; u32 scombo, prev_scombo; int retries = 0; unsigned long target_pfn; DPRINTK("gnttab_prepare_for_transfer rd(%hu) ld(%hu) ref(%hu).\n", rd->id, ld->id, ref); if ( unlikely((rgt = rd->grant_table) == NULL) || unlikely(ref >= NR_GRANT_ENTRIES) ) { DPRINTK("Dom %d has no g.t., or ref is bad (%d).\n", rd->id, ref); return 0; } printk("cwc:%s: pre spin_lock\n", __FUNCTION__); spin_lock(&rgt->lock); printk("cwc:%s: post spin_lock\n", __FUNCTION__); sha = &rgt->shared[ref]; sflags = sha->flags; sdom = sha->domid; printk("cwc:%s: pre cmpxchg loop\n", __FUNCTION__); for ( ; ; ) { target_pfn = sha->frame; if ( unlikely(target_pfn >= max_page ) ) { DPRINTK("Bad pfn (%x)\n", target_pfn); goto fail; } if ( unlikely(sflags != GTF_accept_transfer) || unlikely(sdom != ld->id) ) { DPRINTK("Bad flags (%x) or dom (%d). (NB. expected dom %d)\n", sflags, sdom, ld->id); goto fail; } /* Merge two 16-bit values into a 32-bit combined update. */ /* NB. Endianness! */ prev_scombo = scombo = ((u32)sdom << 16) | (u32)sflags; /* NB. prev_scombo is updated in place to seen value. */ if ( unlikely(cmpxchg_user((u32 *)&sha->flags, prev_scombo, prev_scombo | GTF_transfer_committed)) ) { DPRINTK("Fault while modifying shared flags and domid.\n"); goto fail; } /* Did the combined update work (did we see what we expected?). */ if ( likely(prev_scombo == scombo) ) break; if ( retries++ == 4 ) { DPRINTK("Shared grant entry is unstable.\n"); goto fail; } /* Didn't see what we expected. Split out the seen flags & dom. */ /* NB. Endianness! */ sflags = (u16)prev_scombo; sdom = (u16)(prev_scombo >> 16); } spin_unlock(&rgt->lock); printk("cwc:%s: out spin_unlock 1\n", __FUNCTION__); return 1; fail: spin_unlock(&rgt->lock); printk("cwc:%s: out spin_unlock 0\n", __FUNCTION__); return 0; } void gnttab_notify_transfer( struct domain *rd, struct domain *ld, grant_ref_t ref, unsigned long frame) { grant_entry_t *sha; unsigned long pfn; DPRINTK("gnttab_notify_transfer rd(%hu) ld(%hu) ref(%hu).\n", rd->id, ld->id, ref); sha = &rd->grant_table->shared[ref]; spin_lock(&rd->grant_table->lock); pfn = sha->frame; if ( unlikely(pfn >= max_page ) ) DPRINTK("Bad pfn (%x)\n", pfn); else { machine_to_phys_mapping[frame] = pfn; if ( unlikely(shadow_mode_log_dirty(ld))) mark_dirty(ld, frame); if (shadow_mode_translate(ld)) __phys_to_machine_mapping[pfn] = frame; } sha->frame = __mfn_to_gpfn(rd, frame); sha->domid = rd->id; wmb(); sha->flags = ( GTF_accept_transfer | GTF_transfer_completed ); spin_unlock(&rd->grant_table->lock); return; } int grant_table_create( struct domain *d) { grant_table_t *t; int i; if ( (t = xmalloc(grant_table_t)) == NULL ) goto no_mem; /* Simple stuff. */ memset(t, 0, sizeof(*t)); spin_lock_init(&t->lock); /* Active grant table. */ if ( (t->active = xmalloc_array(active_grant_entry_t, NR_GRANT_ENTRIES)) == NULL ) goto no_mem; memset(t->active, 0, sizeof(active_grant_entry_t) * NR_GRANT_ENTRIES); /* Tracking of mapped foreign frames table */ if ( (t->maptrack = (void *)alloc_xenheap_page()) == NULL ) goto no_mem; t->maptrack_order = 0; t->maptrack_limit = PAGE_SIZE / sizeof(grant_mapping_t); memset(t->maptrack, 0, PAGE_SIZE); for ( i = 0; i < t->maptrack_limit; i++ ) t->maptrack[i].ref_and_flags = (i+1) << MAPTRACK_REF_SHIFT; /* Shared grant table. */ if ( (t->shared = (void *)alloc_xenheap_pages(ORDER_GRANT_FRAMES)) == NULL ) goto no_mem; memset(t->shared, 0, NR_GRANT_FRAMES * PAGE_SIZE); for ( i = 0; i < NR_GRANT_FRAMES; i++ ) { SHARE_PFN_WITH_DOMAIN(virt_to_page((char *)(t->shared)+(i*PAGE_SIZE)), d); machine_to_phys_mapping[ (virt_to_phys((char*)(t->shared)+(i*PAGE_SIZE)) >> PAGE_SHIFT) ] = INVALID_M2P_ENTRY; } /* Okay, install the structure. */ wmb(); /* avoid races with lock-free access to d->grant_table */ d->grant_table = t; return 0; no_mem: if ( t != NULL ) { if ( t->active != NULL ) xfree(t->active); if ( t->maptrack != NULL ) free_xenheap_page((unsigned long)t->maptrack); xfree(t); } return -ENOMEM; } void gnttab_release_dev_mappings(grant_table_t *gt) { grant_mapping_t *map; domid_t dom; grant_ref_t ref; u16 handle; struct domain *ld, *rd; unsigned long frame; active_grant_entry_t *act; grant_entry_t *sha; ld = current->domain; for ( handle = 0; handle < gt->maptrack_limit; handle++ ) { map = >->maptrack[handle]; if ( map->ref_and_flags & GNTMAP_device_map ) { dom = map->domid; ref = map->ref_and_flags >> MAPTRACK_REF_SHIFT; DPRINTK("Grant release (%hu) ref:(%hu) flags:(%x) dom:(%hu)\n", handle, ref, map->ref_and_flags & MAPTRACK_GNTMAP_MASK, dom); if ( unlikely((rd = find_domain_by_id(dom)) == NULL) || unlikely(ld == rd) ) { if ( rd != NULL ) put_domain(rd); printk(KERN_WARNING "Grant release: Could not find domain %d\n", dom); continue; } act = &rd->grant_table->active[ref]; sha = &rd->grant_table->shared[ref]; spin_lock(&rd->grant_table->lock); if ( act->pin & (GNTPIN_devw_mask | GNTPIN_devr_mask) ) { frame = act->frame; if ( ( (act->pin & GNTPIN_hstw_mask) == 0 ) && ( (act->pin & GNTPIN_devw_mask) > 0 ) ) { clear_bit(_GTF_writing, &sha->flags); put_page_type(&frame_table[frame]); } act->pin &= ~(GNTPIN_devw_mask | GNTPIN_devr_mask); if ( act->pin == 0 ) { clear_bit(_GTF_reading, &sha->flags); map->ref_and_flags = 0; put_page(&frame_table[frame]); } else map->ref_and_flags &= ~GNTMAP_device_map; } spin_unlock(&rd->grant_table->lock); put_domain(rd); } } } void grant_table_destroy( struct domain *d) { grant_table_t *t; if ( (t = d->grant_table) != NULL ) { /* Free memory relating to this grant table. */ d->grant_table = NULL; free_xenheap_pages((unsigned long)t->shared, ORDER_GRANT_FRAMES); free_xenheap_page((unsigned long)t->maptrack); //cwc22 xfree(t->active); xfree(t); } } void grant_table_init( void) { /* Nothing. */ DPRINTK("Grant table init\n"); } /* * Local variables: * mode: C * c-set-style: "BSD" * c-basic-offset: 4 * tab-width: 4 * indent-tabs-mode: nil * End: */ [-- Attachment #6: Type: text/plain, Size: 138 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-18 16:38 ` Christopher Clark @ 2005-04-18 16:45 ` Ryan Harper 2005-04-18 20:51 ` Ryan Harper 1 sibling, 0 replies; 40+ messages in thread From: Ryan Harper @ 2005-04-18 16:45 UTC (permalink / raw) To: cwc22; +Cc: xen-devel * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-18 11:37]: > > > Ryan: is this an SMP guest? > > > > Yes, that only shows up when trying to boot an SMP guest. > > Does the crash only occur when trying to boot an SMP guest - ie. do UP > guests start correctly? No, all domU's, whether SMP or UP crash the same way. > Ryan and Anthony: I've attached a patch that I'd like you to apply to > your unstable tree -- it just printk's almost everything so I can get > an idea of the code path you're running. > Alternatively, the three .c files modified by the patch are also > attached - they're taken from 2005-04-14 unstable and you should be > able to just replace the files in your tree. > > After changing your tree and rebuilding, please send the console logs > from boot onwards for xen/dom0 and domU, in a uniprocessor > configuration, both with and without using grant tables for block > transport. I'll try this out > thanks Sure. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-18 16:38 ` Christopher Clark 2005-04-18 16:45 ` Ryan Harper @ 2005-04-18 20:51 ` Ryan Harper 2005-04-20 18:52 ` Christopher Clark 1 sibling, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-18 20:51 UTC (permalink / raw) To: cwc22; +Cc: xen-devel [-- Attachment #1: Type: text/plain, Size: 1293 bytes --] * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-18 11:39]: > Ryan and Anthony: I've attached a patch that I'd like you to apply to > your unstable tree -- it just printk's almost everything so I can get > an idea of the code path you're running. > Alternatively, the three .c files modified by the patch are also > attached - they're taken from 2005-04-14 unstable and you should be > able to just replace the files in your tree. > > After changing your tree and rebuilding, please send the console logs > from boot onwards for xen/dom0 and domU, in a uniprocessor > configuration, both with and without using grant tables for block > transport. I've applied the patch and I have a bunch of logs. 1) domU boot output when dom0up boots domUup 2) domU boot output when dom0up boots domUsmp 3) xen console output for 1) and 2) 4) domU boot output when dom0smp boots domUup 5) domU boot output when dom0smp boots domUsmp 6) xen console output for 4) and 5) In the above cases, dom0up was simulated with maxcpu=1, as I still don't have that UP box setup. If you can't find anything in these logs then I'll go get a real UP box and repeat the dumps. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com [-- Attachment #2: grant_dom0up_boot_domU_up.log --] [-- Type: text/plain, Size: 14031 bytes --] Script started on Mon Apr 18 15:41:21 2005 (hungerforce) root # /e2\b\b\be2fsck /etc/xen/roots/debian_sarge_dom2_512M && xm create /etc/x xen/debian_sarge_dom2_512M -c^[M\b\b\b\b\b\b\b\b e2fsck 1.35 (28-Feb-2004) /etc/xen/roots/debian_sarge_dom2_512M: clean, 37422/131072 files, 452698/524288 blocks Using config file "/etc/xen/debian_sarge_dom2_512M". Started domain debian_sarge_2, console on port 9601 ************ REMOTE CONSOLE: CTRL-] TO QUIT ******** Linux version 2.6.11-xenU (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 Mon Apr 18 15:16:40 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000008000000 (usable) 128MB LOWMEM available. DMI not present. IRQ lockup detection disabled Allocating PCI resources starting at 08000000 (gap: 08000000:f8000000) Built 1 zonelists Kernel command line: root=/dev/sda1 ro profile=2 kernel profiling enabled (shift: 2) Initializing CPU#0 PID hash table entries: 1024 (order: 10, 16384 bytes) Xen reported: 866.321 MHz processor. Using tsc for high-res timesource Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 125376k/131072k available (1646k kernel code, 5504k reserved, 472k data, 108k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: Intel Pentium III (Coppermine) stepping 06 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled NET: Registered protocol family 16 xen_mem: Initialising balloon driver. Grant table initialized Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Xen virtual console successfully installed as tty1 Event-channel device installed. Blkif frontend is using grant tables. xen_blk: Initialising virtual block device driver cwc:wait_for_blkif: in cwc:send_driver_status: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 1 cwc:blkif_disconnect: called cwc:blkif_send_interface_connect: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 2 cwc:blkif_connect: in cwc:blkif_connect: connected cwc:blkif_control_probe_send: grant access to buf:37f85 cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:wait_for_blkif: out xen_net: Initialising virtual ethernet driver. cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_connect: pre spin_lock_irq cwc:blkif_connect: post spin_lock_irq cwc:blkif_connect: spin_unlock_irq NET: Registered protocol family 2 IP: routing cache hash table of 1024 buckets, 8Kbytes TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_release: called cwc:blkif_control_probe_send: grant access to buf:19e9 cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 108k freed cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Warning: unable to open an initial console. cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Kernel panic - not syncing: No init found. Try passing init ************ REMOTE CONSOLE EXITED ***************** (hungerforce) root # Script done on Mon Apr 18 15:41:40 2005 [-- Attachment #3: grant_dom0up_boot_domU_smp.log --] [-- Type: text/plain, Size: 12960 bytes --] Script started on Mon Apr 18 15:42:14 2005 (hungerforce) root # /e2\b\b\be2fsck /etc/xen/roots/debian_sarge_dom2_512M && xm create /etc/x xen/debian_sarge_dom2_512M -c^[M\b\b\b\b\b\b\b\b e2fsck 1.35 (28-Feb-2004) /etc/xen/roots/debian_sarge_dom2_512M: clean, 37422/131072 files, 452698/524288 blocks Using config file "/etc/xen/debian_sarge_dom2_512M". Started domain debian_sarge_2, console on port 9602 ************ REMOTE CONSOLE: CTRL-] TO QUIT ******** Linux version 2.6.11-xenU-smp (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 SMP Mon Apr 18 15:19:49 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000008000000 (usable) 128MB LOWMEM available. DMI not present. IRQ lockup detection disabled Allocating PCI resources starting at 08000000 (gap: 08000000:f8000000) Built 1 zonelists Kernel command line: root=/dev/sda1 ro profile=2 kernel profiling enabled (shift: 2) Initializing CPU#0 PID hash table entries: 1024 (order: 10, 16384 bytes) Xen reported: 866.321 MHz processor. Using tsc for high-res timesource Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 125088k/131072k available (1643k kernel code, 5800k reserved, 444k data, 136k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled CPU0: Intel Pentium III (Coppermine) stepping 06 per-CPU timeslice cutoff: 731.68 usecs. task migration cache decay timeout: 1 msecs. Booting processor 1/1 eip c0100010 Initializing CPU#1 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU1: Intel Pentium III (Coppermine) stepping 06 Booting processor 2/2 eip c0100010 Initializing CPU#2 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU2: Intel Pentium III (Coppermine) stepping 06 Booting processor 3/3 eip c0100010 Initializing CPU#3 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU3: Intel Pentium III (Coppermine) stepping 06 Total of 4 processors activated (6055.52 BogoMIPS). Brought up 4 CPUs NET: Registered protocol family 16 xen_mem: Initialising balloon driver. Grant table initialized Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Xen virtual console successfully installed as tty1 Event-channel device installed. Blkif frontend is using grant tables. xen_blk: Initialising virtual block device driver cwc:wait_for_blkif: in cwc:send_driver_status: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 1 cwc:blkif_disconnect: called cwc:blkif_send_interface_connect: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 2 cwc:blkif_connect: in cwc:blkif_connect: connected cwc:blkif_control_probe_send: grant access to buf:c17 cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:wait_for_blkif: out xen_net: Initialising virtual ethernet driver. cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_connect: pre spin_lock_irq cwc:blkif_connect: post spin_lock_irq cwc:blkif_connect: spin_unlock_irq NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 8Kbytes TCP established hash table entries: 8192 (order: 5, 131072 bytes) TCP bind hash table entries: 8192 (order: 4, 98304 bytes) TCP: Hash tables configured (established 8192 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_release: called cwc:blkif_control_probe_send: grant access to buf:37dcb cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 136k freed cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Warning: unable to open an initial console. cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Kernel panic - not syncing: No init found. Try passing init ************ REMOTE CONSOLE EXITED ***************** (hungerforce) root # Script done on Mon Apr 18 15:42:25 2005 [-- Attachment #4: grant_xen_dom0up_boot_domUup_and_dom0up_boot_domUsmp.log --] [-- Type: text/plain, Size: 96344 bytes --] __ __ _____ ___ _ _ \ \/ /___ _ __ |___ / / _ \ __| | _____ _____| | \ // _ \ '_ \ |_ \| | | |__ / _` |/ _ \ \ / / _ \ | / \ __/ | | | ___) | |_| |__| (_| | __/\ V / __/ | /_/\_\___|_| |_| |____(_)___/ \__,_|\___| \_/ \___|_| http://www.cl.cam.ac.uk/netos/xen University of Cambridge Computer Laboratory Xen version 3.0-devel (rharper@localdomain) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) Mon Apr 18 15:12:11 CDT 2005 Latest ChangeSet: information unavailable (XEN) Physical RAM map: (XEN) 0000000000000000 - 000000000009dc00 (usable) (XEN) 000000000009dc00 - 00000000000a0000 (reserved) (XEN) 00000000000e0000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 0000000037fed140 (usable) (XEN) 0000000037fed140 - 0000000037ff0000 (ACPI data) (XEN) 0000000037ff0000 - 0000000038000000 (reserved) (XEN) 00000000fec00000 - 0000000100000000 (reserved) (XEN) System RAM: 895MB (917032kB) (XEN) Xen heap: 10MB (10740kB) (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) found SMP MP-table at 0009ddd0 (XEN) ACPI: RSDP (v000 IBM ) @ 0x000fdfd0 (XEN) ACPI: RSDT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff80 (XEN) ACPI: FADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff00 (XEN) ACPI: MADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37fefe80 (XEN) ACPI: DSDT (v001 IBM SERTOPAZ 0x00001000 MSFT 0x0100000b) @ 0x00000000 (XEN) ACPI: Local APIC address 0xfee00000 (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x03] enabled) (XEN) Processor #3 Pentium(tm) Pro APIC version 17 (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) (XEN) Processor #0 Pentium(tm) Pro APIC version 17 (XEN) Using ACPI for processor (LAPIC) configuration information (XEN) Intel MultiProcessor Specification v1.4 (XEN) Virtual Wire compatibility mode. (XEN) OEM ID: IBM ENSW Product ID: xSeries 220 APIC at: 0xFEE00000 (XEN) I/O APIC #14 Version 17 at 0xFEC00000. (XEN) I/O APIC #13 Version 17 at 0xFEC01000. (XEN) Enabling APIC mode: Flat. Using 2 I/O APICs (XEN) Processors: 2 (XEN) Using scheduler: Borrowed Virtual Time (bvt) (XEN) Initializing CPU#0 (XEN) Detected 866.321 MHz processor. (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU0 booted (XEN) enabled ExtINT on CPU#0 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) Booting processor 1/0 eip 90000 (XEN) Initializing CPU#1 (XEN) masked ExtINT on CPU#1 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) CPU1: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU1 has booted. (XEN) Total of 2 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) Setting 14 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 14 ... ok. (XEN) Setting 13 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 13 ... ok. (XEN) init IO_APIC IRQs (XEN) vector_irq[49] = 1 (XEN) vector_irq[51] = 3 (XEN) vector_irq[59] = 4 (XEN) vector_irq[61] = 6 (XEN) vector_irq[69] = 7 (XEN) vector_irq[71] = 8 (XEN) vector_irq[79] = 10 (XEN) vector_irq[81] = 12 (XEN) vector_irq[89] = 13 (XEN) vector_irq[91] = 14 (XEN) vector_irq[99] = 27 (XEN) vector_irq[a1] = 28 (XEN) ..TIMER: vector=0x41 pin1=2 pin2=-1 (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. (XEN) ...trying to set up timer as Virtual Wire IRQ... works. (XEN) number of MP IRQ sources: 13. (XEN) number of IO-APIC #14 registers: 16. (XEN) number of IO-APIC #13 registers: 16. (XEN) testing the IO APIC....................... (XEN) (XEN) IO APIC #14...... (XEN) .... register #00: 0E000000 (XEN) ....... : physical APIC id: 0E (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0E000000 (XEN) ....... : arbitration: 0E (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 003 03 0 0 0 0 0 1 1 49 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 003 03 0 0 0 0 0 1 1 51 (XEN) 04 003 03 0 0 0 0 0 1 1 59 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 003 03 0 0 0 0 0 1 1 61 (XEN) 07 003 03 0 0 0 0 0 1 1 69 (XEN) 08 003 03 0 0 0 0 0 1 1 71 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 003 03 1 1 0 1 0 1 1 79 (XEN) 0b 000 00 1 0 0 0 0 0 0 00 (XEN) 0c 003 03 0 0 0 0 0 1 1 81 (XEN) 0d 003 03 0 0 0 0 0 1 1 89 (XEN) 0e 003 03 0 0 0 0 0 1 1 91 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) (XEN) IO APIC #13...... (XEN) .... register #00: 0D000000 (XEN) ....... : physical APIC id: 0D (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0D000000 (XEN) ....... : arbitration: 0D (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 000 00 1 0 0 0 0 0 0 00 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 000 00 1 0 0 0 0 0 0 00 (XEN) 04 0D7 07 1 0 0 0 0 1 2 55 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 0F6 06 1 0 0 0 0 0 2 48 (XEN) 07 0D7 07 1 0 0 0 0 0 2 EA (XEN) 08 000 00 1 0 0 0 0 0 0 00 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 000 00 1 0 0 0 0 0 0 00 (XEN) 0b 003 03 1 1 0 1 0 1 1 99 (XEN) 0c 003 03 1 1 0 1 0 1 1 A1 (XEN) 0d 000 00 1 0 0 0 0 0 0 00 (XEN) 0e 000 00 1 0 0 0 0 0 0 00 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) IRQ to pin mappings: (XEN) IRQ0 -> 0:2 (XEN) IRQ1 -> 0:1 (XEN) IRQ3 -> 0:3 (XEN) IRQ4 -> 0:4 (XEN) IRQ6 -> 0:6 (XEN) IRQ7 -> 0:7 (XEN) IRQ8 -> 0:8 (XEN) IRQ10 -> 0:10 (XEN) IRQ12 -> 0:12 (XEN) IRQ13 -> 0:13 (XEN) IRQ14 -> 0:14 (XEN) IRQ27 -> 1:11 (XEN) IRQ28 -> 1:12 (XEN) .................................... done. (XEN) Using local APIC timer interrupts. (XEN) Calibrating APIC timer for CPU0... (XEN) ..... CPU speed is 866.2623 MHz. (XEN) ..... Bus speed is 133.2710 MHz. (XEN) ..... bus_scale = 0x0000887A (XEN) checking TSC synchronization across CPUs: passed. (XEN) Time init: (XEN) .... System Time: 12941301ns (XEN) .... cpu_freq: 00000000:33A3063C (XEN) .... scale: 00000001:27808C52 (XEN) .... Wall Clock: 1113856779s 560000us (XEN) PCI: PCI BIOS revision 2.10 entry at 0xfd5dc, last bus=1 (XEN) PCI: Using configuration type 1 (XEN) PCI: Probing PCI hardware (XEN) PCI: Probing PCI hardware (bus 00) (XEN) PCI: Discovered peer bus 01 (XEN) PCI->APIC IRQ transform: (B0,I2,P0) -> 27 (XEN) PCI->APIC IRQ transform: (B0,I15,P0) -> 10 (XEN) PCI->APIC IRQ transform: (B1,I3,P0) -> 28 (XEN) mtrr: v2.0 (20020519) (XEN) (file=grant_table.c, line=1253) Grant table init (XEN) *** LOADING DOMAIN 0 *** (XEN) Xen-ELF header found: 'GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xC0000000,LOADER=generic' (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 10000000->20000000 (65536 pages to be allocated) (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: c0100000->c05694c4 (XEN) Init. ramdisk: c056a000->c056a000 (XEN) Phys-Mach map: c056a000->c05ea000 (XEN) Page tables: c05ea000->c05ed000 (XEN) Start info: c05ed000->c05ee000 (XEN) Boot stack: c05ee000->c05ef000 (XEN) TOTAL: c0000000->c0800000 (XEN) ENTRY ADDRESS: c0100000 (XEN) Scrubbing Free RAM: .........done. (XEN) *** Serial input -> DOM0 (type 'CTRL-x' three times to switch input to Xen). Linux version 2.6.11-xen0 (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 Mon Apr 18 15:15:25 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000020000000 (usable) 512MB LOWMEM available. DMI 2.3 present. IRQ lockup detection disabled Allocating PCI resources starting at 20000000 (gap: 20000000:e0000000) Built 1 zonelists Kernel command line: root=/dev/sda2 ro console=tty0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 65536 bytes) Xen reported: 866.321 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 513536k/524288k available (2933k kernel code, 10512k reserved, 1021k data, 320k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: Intel Pentium III (Coppermine) stepping 06 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled NET: Registered protocol family 16 PCI: Using configuration type Xen xen_mem: Initialising balloon driver. SCSI subsystem initialized PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Probing PCI hardware (bus 01) PCI: Probing PCI hardware Grant table initialized IA-32 Microcode Update Driver: v1.14-xen <tigran@veritas.com> Initializing Cryptographic API serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a National Semiconductor PC87306 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: loaded (max 8 devices) HP CISS Driver (v 2.6.4) Intel(R) PRO/1000 Network Driver - version 5.6.10.1-k2 Copyright (c) 1999-2004 Intel Corporation. pcnet32.c:v1.30i 06.28.2004 tsbogend@alpha.franken.de e100: Intel(R) PRO/100 Network Driver, 3.3.6-k2-NAPI e100: Copyright(c) 1999-2004 Intel Corporation PCI: Obtained IRQ 27 for device 0000:00:02.0 e100: eth0: e100_probe: addr 0xfeb7f000, irq 27, MAC addr 00:02:55:C8:07:57 Xen virtual console successfully installed as ttyS0 Event-channel device installed. Blkif backend is using grant tables. Initialising Xen netif backend Blkif frontend is using grant tables. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SvrWks OSB4: IDE controller at PCI slot 0000:00:0f.1 SvrWks OSB4: chipset revision 0 SvrWks OSB4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x0700-0x0707, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0x0708-0x070f, BIOS settings: hdc:pio, hdd:pio hda: LTN485S, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: ATAPI 48X CD-ROM drive, 120kB Cache, (U)DMA Uniform CD-ROM driver Revision: 3.20 PCI: Obtained IRQ 28 for device 0000:01:03.0 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7892 Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs (scsi0:A:6): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) Vendor: IBM-PSG Model: DDYS-T36950N M Rev: S9HA Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:6:0: Tagged Queuing enabled. Depth 32 Red Hat/Adaptec aacraid driver (1.1.2-lk2 Apr 18 2005) 3ware Storage Controller device driver for Linux v1.26.02.000. SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 6, lun 0 Fusion MPT base driver 3.01.18 Copyright (c) 1999-2004 LSI Logic Corporation Fusion MPT SCSI Host driver 3.01.18 mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid5 personality registered as nr 4 raid5: automatically using best checksumming function: pIII_sse pIII_sse : 1132.000 MB/sec raid5: using function: pIII_sse (1132.000 MB/sec) md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com NET: Registered protocol family 2 IP: routing cache hash table of 4096 buckets, 32Kbytes TCP established hash table entries: 131072 (order: 8, 1048576 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes) TCP: Hash tables configured (established 131072 bind 65536) NET: Registered protocol family 1 NET: Registered protocol family 17 Bridge firewalling registered md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 320k freed Adding 1951856k swap on /dev/sda1. Priority:-1 extents:1 EXT3 FS on sda2, internal journal Linux agpgart interface v0.100 (c) Dave Jones agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.0 failed with error -22 agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.1 failed with error -22 e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex device eth0 entered promiscuous mode xen-br0: port 1(eth0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 1(eth0) entering forwarding state device vif1.0 entered promiscuous mode xen-br0: port 2(vif1.0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 2(vif1.0) entering forwarding state cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19e9000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19e5000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19e5400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19e5800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19e5c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19e4800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19dfc00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:1067e800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:1067fc00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10680400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:8 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10680400 populated 2 sects cwc:dispatch_rw_block_io: buf:10680400 populated 2 sects cwc:dispatch_rw_block_io: buf:10681400 populated 2 sects cwc:dispatch_rw_block_io: buf:10681400 populated 2 sects cwc:dispatch_rw_block_io: buf:10681400 populated 2 sects cwc:dispatch_rw_block_io: buf:10681400 populated 2 sects cwc:dispatch_rw_block_io: buf:10682400 populated 2 sects cwc:dispatch_rw_block_io: buf:10682400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:in cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:4 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10682400 populated 2 sects cwc:dispatch_rw_block_io: buf:10682400 populated 2 sects cwc:dispatch_rw_block_io: buf:10683400 populated 2 sects cwc:dispatch_rw_block_io: buf:10683400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:5 (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10683800 populated 2 sects cwc:dispatch_rw_block_io: buf:10683800 populated 2 sects cwc:dispatch_rw_block_io: buf:10684800 populated 2 sects cwc:dispatch_rw_block_io: buf:10684800 populated 2 sects cwc:dispatch_rw_block_io: buf:10684800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:7 (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10684400 populated 2 sects cwc:dispatch_rw_block_io: buf:10685400 populated 2 sects cwc:dispatch_rw_block_io: buf:10685400 populated 2 sects cwc:dispatch_rw_block_io: buf:10685400 populated 2 sects cwc:dispatch_rw_block_io: buf:10685400 populated 2 sects cwc:dispatch_rw_block_io: buf:10686400 populated 2 sects cwc:dispatch_rw_block_io: buf:10686400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10687c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10689400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:1068a400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:in cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19b8000 populated 8 sects cwc:dispatch_rw_block_io: buf:19b7000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19b6c00 populated 8 sects cwc:dispatch_rw_block_io: buf:1068dc00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:5 (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19b5000 populated 8 sects cwc:dispatch_rw_block_io: buf:19b4000 populated 8 sects cwc:dispatch_rw_block_io: buf:19b3000 populated 8 sects cwc:dispatch_rw_block_io: buf:19b2000 populated 8 sects cwc:dispatch_rw_block_io: buf:19b1000 populated 6 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:1068fc00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10690400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10691800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:in cwc:fast_flush_area:out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10692c00 populated 2 sects cwc:dispatch_rw_block_io: buf:10692c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10693c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:10695400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:4 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19b0800 populated 8 sects cwc:dispatch_rw_block_io: buf:19af800 populated 8 sects cwc:dispatch_rw_block_io: buf:19ae800 populated 8 sects cwc:dispatch_rw_block_io: buf:10696800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out device vif1.0 left promiscuous mode xen-br0: port 2(vif1.0) entering disabled state xen-br0: port 2(vif1.0) entering disabled state device vif2.0 entered promiscuous mode xen-br0: port 2(vif2.0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 2(vif2.0) entering forwarding state cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:333aa000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37dcb000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37dc9400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37dc9800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37dc9c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37dc8800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f46c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:1067d800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f45c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f44400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:8 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f44400 populated 2 sects cwc:dispatch_rw_block_io: buf:37f44400 populated 2 sects cwc:dispatch_rw_block_io: buf:37f43400 populated 2 sects cwc:dispatch_rw_block_io: buf:37f43400 populated 2 sects cwc:dispatch_rw_block_io: buf:37f43400 populated 2 sects cwc:dispatch_rw_block_io: buf:37f43400 populated 2 sects cwc:dispatch_rw_block_io: buf:37f41400 populated 2 sects cwc:dispatch_rw_block_io: buf:37f41400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (2) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f40c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f3e400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f3d400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:3339a000 populated 8 sects cwc:dispatch_rw_block_io: buf:33399000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:3334cc00 populated 8 sects cwc:dispatch_rw_block_io: buf:37f39c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:5 (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:3334b000 populated 8 sects cwc:dispatch_rw_block_io: buf:3334a000 populated 8 sects cwc:dispatch_rw_block_io: buf:33349000 populated 8 sects cwc:dispatch_rw_block_io: buf:33348000 populated 8 sects cwc:dispatch_rw_block_io: buf:33347000 populated 6 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:33395c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:33394400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:33393800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:33392c00 populated 2 sects cwc:dispatch_rw_block_io: buf:33392c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:33391c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out stsotopp_t_hits_hcispu_ dcipus abdlei_salboclae_llo_caAl_PAPIICC ssmpt_soep_ndt_hiss_tcpou pd disaisbaleb_lloceal__AlPIoCc al_APIC cwc:dispatch_rw_block_io: 1 bios submitted [-- Attachment #5: grant_dom0_smp_boot_domU_up.log --] [-- Type: text/plain, Size: 14038 bytes --] Script started on Mon Apr 18 15:32:21 2005 (hungerforce) root # /e2\b\b\be2fsck /etc/xen/roots/debian_sarge_dom2_512M && xm create /etc/x xen/debian_sarge_dom2_512M -c^[M\b\b\b\b\b\b\b\b e2fsck 1.35 (28-Feb-2004) /etc/xen/roots/debian_sarge_dom2_512M: clean, 37422/131072 files, 452698/524288 blocks Using config file "/etc/xen/debian_sarge_dom2_512M". Started domain debian_sarge_2, console on port 9602 ************ REMOTE CONSOLE: CTRL-] TO QUIT ******** Linux version 2.6.11-xenU (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 Mon Apr 18 15:16:40 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000008000000 (usable) 128MB LOWMEM available. DMI not present. IRQ lockup detection disabled Allocating PCI resources starting at 08000000 (gap: 08000000:f8000000) Built 1 zonelists Kernel command line: root=/dev/sda1 ro profile=2 kernel profiling enabled (shift: 2) Initializing CPU#0 PID hash table entries: 1024 (order: 10, 16384 bytes) Xen reported: 866.292 MHz processor. Using tsc for high-res timesource Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 125376k/131072k available (1646k kernel code, 5504k reserved, 472k data, 108k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: Intel Pentium III (Coppermine) stepping 06 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled NET: Registered protocol family 16 xen_mem: Initialising balloon driver. Grant table initialized Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Xen virtual console successfully installed as tty1 Event-channel device installed. Blkif frontend is using grant tables. xen_blk: Initialising virtual block device driver cwc:wait_for_blkif: in cwc:send_driver_status: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 1 cwc:blkif_disconnect: called cwc:blkif_send_interface_connect: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 2 cwc:blkif_connect: in cwc:blkif_connect: connected cwc:blkif_control_probe_send: grant access to buf:1945 cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:wait_for_blkif: out xen_net: Initialising virtual ethernet driver. cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_connect: pre spin_lock_irq cwc:blkif_connect: post spin_lock_irq cwc:blkif_connect: spin_unlock_irq NET: Registered protocol family 2 IP: routing cache hash table of 1024 buckets, 8Kbytes TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_release: called cwc:blkif_control_probe_send: grant access to buf:37f66 cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 108k freed cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Warning: unable to open an initial console. cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Kernel panic - not syncing: No init found. Try passing init ************ REMOTE CONSOLE EXITED ***************** (hungerforce) root # exit Script done on Mon Apr 18 15:32:35 2005 [-- Attachment #6: grant_dom0_smp_boot_domU_smp.log --] [-- Type: text/plain, Size: 11736 bytes --] Linux version 2.6.11-xenU-smp (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 SMP Mon Apr 18 15:19:49 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000008000000 (usable) 128MB LOWMEM available. DMI not present. IRQ lockup detection disabled Allocating PCI resources starting at 08000000 (gap: 08000000:f8000000) Built 1 zonelists Kernel command line: root=/dev/sda1 ro profile=2 kernel profiling enabled (shift: 2) Initializing CPU#0 PID hash table entries: 1024 (order: 10, 16384 bytes) Xen reported: 866.292 MHz processor. Using tsc for high-res timesource Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 125088k/131072k available (1643k kernel code, 5800k reserved, 444k data, 136k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled CPU0: Intel Pentium III (Coppermine) stepping 06 per-CPU timeslice cutoff: 730.81 usecs. task migration cache decay timeout: 1 msecs. Booting processor 1/1 eip c0100010 Initializing CPU#1 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU1: Intel Pentium III (Coppermine) stepping 06 Booting processor 2/2 eip c0100010 Initializing CPU#2 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU2: Intel Pentium III (Coppermine) stepping 06 Booting processor 3/3 eip c0100010 Initializing CPU#3 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU3: Intel Pentium III (Coppermine) stepping 06 Total of 4 processors activated (6219.36 BogoMIPS). Brought up 4 CPUs NET: Registered protocol family 16 xen_mem: Initialising balloon driver. Grant table initialized Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Xen virtual console successfully installed as tty1 Event-channel device installed. Blkif frontend is using grant tables. xen_blk: Initialising virtual block device driver cwc:wait_for_blkif: in cwc:send_driver_status: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 1 cwc:blkif_disconnect: called cwc:blkif_send_interface_connect: ctrl_if_send_message_block cwc:blkif_ctrlif_rx: called cwc:blkif_status: status: 2 cwc:blkif_connect: in cwc:blkif_connect: connected cwc:blkif_control_probe_send: grant access to buf:1048 cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:wait_for_blkif: out xen_net: Initialising virtual ethernet driver. cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_connect: pre spin_lock_irq cwc:blkif_connect: post spin_lock_irq cwc:blkif_connect: spin_unlock_irq NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 8Kbytes TCP established hash table entries: 8192 (order: 5, 131072 bytes) TCP bind hash table entries: 8192 (order: 4, 98304 bytes) TCP: Hash tables configured (established 8192 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_release: called cwc:blkif_control_probe_send: grant access to buf:19ae cwc:blkif_control_send: in cwc:blkif_control_send: pre spin_lock_irqsave cwc:blkif_control_send: post spin_lock_irqsave cwc:blkif_control_send: spin_unlock_irqrestore 2 cwc:blkif_open: called cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_control_send: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 136k freed cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Warning: unable to open an initial console. cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:do_blkif_request: called cwc:blkif_queue_request: in blkif_state:2 cwc:blkif_queue_request: out cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 0 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore cwc:blkif_int: pre spin_lock_irqsave cwc:blkif_int: post spin_lock_irqsave cwc:blkif_int: blkif_completion call id 1 cwc:blkif_completion: in cwc:blkif_completion: out cwc:blkif_int: post loop cwc:blkif_int: out unlock_irq_restore Kernel panic - not syncing: No init found. Try passing init= option to kernel. [-- Attachment #7: grant_xen_dom0smp_boot_domUsmp_and_dom0smp_boot_domUup.log --] [-- Type: text/plain, Size: 96796 bytes --] md: stopping all md devices. md: md0 switched to read-only mode. Restarting system. (XEN) Domain 0 shutdown: rebooting machine. __ __ _____ ___ _ _ \ \/ /___ _ __ |___ / / _ \ __| | _____ _____| | \ // _ \ '_ \ |_ \| | | |__ / _` |/ _ \ \ / / _ \ | / \ __/ | | | ___) | |_| |__| (_| | __/\ V / __/ | /_/\_\___|_| |_| |____(_)___/ \__,_|\___| \_/ \___|_| http://www.cl.cam.ac.uk/netos/xen University of Cambridge Computer Laboratory Xen version 3.0-devel (rharper@localdomain) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) Mon Apr 18 15:12:11 CDT 2005 Latest ChangeSet: information unavailable (XEN) Physical RAM map: (XEN) 0000000000000000 - 000000000009dc00 (usable) (XEN) 000000000009dc00 - 00000000000a0000 (reserved) (XEN) 00000000000e0000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 0000000037fed140 (usable) (XEN) 0000000037fed140 - 0000000037ff0000 (ACPI data) (XEN) 0000000037ff0000 - 0000000038000000 (reserved) (XEN) 00000000fec00000 - 0000000100000000 (reserved) (XEN) System RAM: 895MB (917032kB) (XEN) Xen heap: 10MB (10740kB) (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) found SMP MP-table at 0009ddd0 (XEN) ACPI: RSDP (v000 IBM ) @ 0x000fdfd0 (XEN) ACPI: RSDT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff80 (XEN) ACPI: FADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff00 (XEN) ACPI: MADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37fefe80 (XEN) ACPI: DSDT (v001 IBM SERTOPAZ 0x00001000 MSFT 0x0100000b) @ 0x00000000 (XEN) ACPI: Local APIC address 0xfee00000 (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x03] enabled) (XEN) Processor #3 Pentium(tm) Pro APIC version 17 (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) (XEN) Processor #0 Pentium(tm) Pro APIC version 17 (XEN) Using ACPI for processor (LAPIC) configuration information (XEN) Intel MultiProcessor Specification v1.4 (XEN) Virtual Wire compatibility mode. (XEN) OEM ID: IBM ENSW Product ID: xSeries 220 APIC at: 0xFEE00000 (XEN) I/O APIC #14 Version 17 at 0xFEC00000. (XEN) I/O APIC #13 Version 17 at 0xFEC01000. (XEN) Enabling APIC mode: Flat. Using 2 I/O APICs (XEN) Processors: 2 (XEN) Using scheduler: Borrowed Virtual Time (bvt) (XEN) Initializing CPU#0 (XEN) Detected 866.292 MHz processor. (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU0 booted (XEN) enabled ExtINT on CPU#0 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) Booting processor 1/0 eip 90000 (XEN) Initializing CPU#1 (XEN) masked ExtINT on CPU#1 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) CPU1: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU1 has booted. (XEN) Total of 2 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) Setting 14 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 14 ... ok. (XEN) Setting 13 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 13 ... ok. (XEN) init IO_APIC IRQs (XEN) vector_irq[49] = 1 (XEN) vector_irq[51] = 3 (XEN) vector_irq[59] = 4 (XEN) vector_irq[61] = 6 (XEN) vector_irq[69] = 7 (XEN) vector_irq[71] = 8 (XEN) vector_irq[79] = 10 (XEN) vector_irq[81] = 12 (XEN) vector_irq[89] = 13 (XEN) vector_irq[91] = 14 (XEN) vector_irq[99] = 27 (XEN) vector_irq[a1] = 28 (XEN) ..TIMER: vector=0x41 pin1=2 pin2=-1 (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. (XEN) ...trying to set up timer as Virtual Wire IRQ... works. (XEN) number of MP IRQ sources: 13. (XEN) number of IO-APIC #14 registers: 16. (XEN) number of IO-APIC #13 registers: 16. (XEN) testing the IO APIC....................... (XEN) (XEN) IO APIC #14...... (XEN) .... register #00: 0E000000 (XEN) ....... : physical APIC id: 0E (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0E000000 (XEN) ....... : arbitration: 0E (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 003 03 0 0 0 0 0 1 1 49 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 003 03 0 0 0 0 0 1 1 51 (XEN) 04 003 03 0 0 0 0 0 1 1 59 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 003 03 0 0 0 0 0 1 1 61 (XEN) 07 003 03 0 0 0 0 0 1 1 69 (XEN) 08 003 03 0 0 0 0 0 1 1 71 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 003 03 1 1 0 1 0 1 1 79 (XEN) 0b 000 00 1 0 0 0 0 0 0 00 (XEN) 0c 003 03 0 0 0 0 0 1 1 81 (XEN) 0d 003 03 0 0 0 0 0 1 1 89 (XEN) 0e 003 03 0 0 0 0 0 1 1 91 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) (XEN) IO APIC #13...... (XEN) .... register #00: 0D000000 (XEN) ....... : physical APIC id: 0D (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0D000000 (XEN) ....... : arbitration: 0D (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 000 00 1 0 0 0 0 0 0 00 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 000 00 1 0 0 0 0 0 0 00 (XEN) 04 0D7 07 1 0 0 0 0 1 2 55 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 0F6 06 1 0 0 0 0 0 2 48 (XEN) 07 0D7 07 1 0 0 0 0 0 2 EA (XEN) 08 000 00 1 0 0 0 0 0 0 00 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 000 00 1 0 0 0 0 0 0 00 (XEN) 0b 003 03 1 1 0 1 0 1 1 99 (XEN) 0c 003 03 1 1 0 1 0 1 1 A1 (XEN) 0d 000 00 1 0 0 0 0 0 0 00 (XEN) 0e 000 00 1 0 0 0 0 0 0 00 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) IRQ to pin mappings: (XEN) IRQ0 -> 0:2 (XEN) IRQ1 -> 0:1 (XEN) IRQ3 -> 0:3 (XEN) IRQ4 -> 0:4 (XEN) IRQ6 -> 0:6 (XEN) IRQ7 -> 0:7 (XEN) IRQ8 -> 0:8 (XEN) IRQ10 -> 0:10 (XEN) IRQ12 -> 0:12 (XEN) IRQ13 -> 0:13 (XEN) IRQ14 -> 0:14 (XEN) IRQ27 -> 1:11 (XEN) IRQ28 -> 1:12 (XEN) .................................... done. (XEN) Using local APIC timer interrupts. (XEN) Calibrating APIC timer for CPU0... (XEN) ..... CPU speed is 866.2623 MHz. (XEN) ..... Bus speed is 133.2710 MHz. (XEN) ..... bus_scale = 0x0000887A (XEN) checking TSC synchronization across CPUs: passed. (XEN) Time init: (XEN) .... System Time: 12846859ns (XEN) .... cpu_freq: 00000000:33A2947C (XEN) .... scale: 00000001:2783174C (XEN) .... Wall Clock: 1113855872s 550000us (XEN) PCI: PCI BIOS revision 2.10 entry at 0xfd5dc, last bus=1 (XEN) PCI: Using configuration type 1 (XEN) PCI: Probing PCI hardware (XEN) PCI: Probing PCI hardware (bus 00) (XEN) PCI: Discovered peer bus 01 (XEN) PCI->APIC IRQ transform: (B0,I2,P0) -> 27 (XEN) PCI->APIC IRQ transform: (B0,I15,P0) -> 10 (XEN) PCI->APIC IRQ transform: (B1,I3,P0) -> 28 (XEN) mtrr: v2.0 (20020519) (XEN) (file=grant_table.c, line=1253) Grant table init (XEN) *** LOADING DOMAIN 0 *** (XEN) Xen-ELF header found: 'GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xC0000000,LOADER=generic' (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 10000000->20000000 (65536 pages to be allocated) (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: c0100000->c054e4a4 (XEN) Init. ramdisk: c054f000->c054f000 (XEN) Phys-Mach map: c054f000->c05cf000 (XEN) Page tables: c05cf000->c05d2000 (XEN) Start info: c05d2000->c05d3000 (XEN) Boot stack: c05d3000->c05d4000 (XEN) TOTAL: c0000000->c0800000 (XEN) ENTRY ADDRESS: c0100000 (XEN) Scrubbing Free RAM: .........done. (XEN) *** Serial input -> DOM0 (type 'CTRL-x' three times to switch input to Xen). Linux version 2.6.11-xen0-smp (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 SMP Mon Apr 18 15:18:39 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000020000000 (usable) 512MB LOWMEM available. DMI 2.3 present. IRQ lockup detection disabled Allocating PCI resources starting at 20000000 (gap: 20000000:e0000000) Built 1 zonelists Kernel command line: root=/dev/sda2 ro console=tty0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 65536 bytes) Xen reported: 866.292 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 513408k/524288k available (2829k kernel code, 10696k reserved, 979k data, 348k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled CPU0: Intel Pentium III (Coppermine) stepping 06 per-CPU timeslice cutoff: 730.81 usecs. task migration cache decay timeout: 1 msecs. Booting processor 1/1 eip c0100010 Initializing CPU#1 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU1: Intel Pentium III (Coppermine) stepping 06 Total of 2 processors activated (3460.30 BogoMIPS). Brought up 2 CPUs NET: Registered protocol family 16 PCI: Using configuration type Xen xen_mem: Initialising balloon driver. SCSI subsystem initialized PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Probing PCI hardware (bus 01) PCI: Probing PCI hardware Grant table initialized IA-32 Microcode Update Driver: v1.14-xen <tigran@veritas.com> Initializing Cryptographic API serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a National Semiconductor PC87306 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: loaded (max 8 devices) HP CISS Driver (v 2.6.4) Intel(R) PRO/1000 Network Driver - version 5.6.10.1-k2 Copyright (c) 1999-2004 Intel Corporation. pcnet32.c:v1.30i 06.28.2004 tsbogend@alpha.franken.de e100: Intel(R) PRO/100 Network Driver, 3.3.6-k2-NAPI e100: Copyright(c) 1999-2004 Intel Corporation PCI: Obtained IRQ 27 for device 0000:00:02.0 e100: eth0: e100_probe: addr 0xfeb7f000, irq 27, MAC addr 00:02:55:C8:07:57 Xen virtual console successfully installed as ttyS0 Event-channel device installed. Blkif backend is using grant tables. Initialising Xen netif backend Blkif frontend is using grant tables. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SvrWks OSB4: IDE controller at PCI slot 0000:00:0f.1 SvrWks OSB4: chipset revision 0 SvrWks OSB4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x0700-0x0707, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0x0708-0x070f, BIOS settings: hdc:pio, hdd:pio hda: LTN485S, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: ATAPI 48X CD-ROM drive, 120kB Cache, (U)DMA Uniform CD-ROM driver Revision: 3.20 PCI: Obtained IRQ 28 for device 0000:01:03.0 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7892 Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs (scsi0:A:6): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) Vendor: IBM-PSG Model: DDYS-T36950N M Rev: S9HA Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:6:0: Tagged Queuing enabled. Depth 32 Red Hat/Adaptec aacraid driver (1.1.2-lk2 Apr 18 2005) 3ware Storage Controller device driver for Linux v1.26.02.000. SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 6, lun 0 mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid5 personality registered as nr 4 raid5: automatically using best checksumming function: pIII_sse pIII_sse : 1007.200 MB/sec raid5: using function: pIII_sse (1007.200 MB/sec) md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com NET: Registered protocol family 2 IP: routing cache hash table of 2048 buckets, 32Kbytes TCP established hash table entries: 131072 (order: 9, 2097152 bytes) TCP bind hash table entries: 65536 (order: 7, 786432 bytes) TCP: Hash tables configured (established 131072 bind 65536) NET: Registered protocol family 1 NET: Registered protocol family 17 Bridge firewalling registered md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 348k freed Adding 1951856k swap on /dev/sda1. Priority:-1 extents:1 EXT3 FS on sda2, internal journal Linux agpgart interface v0.100 (c) Dave Jones agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.0 failed with error -22 agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.1 failed with error -22 e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex device eth0 entered promiscuous mode xen-br0: port 1(eth0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 1(eth0) entering forwarding state device vif1.0 entered promiscuous mode xen-br0: port 2(vif1.0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 2(vif1.0) entering forwarding state cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:19ae000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cw(cXE:dNi) s(paftcihle_=grrw_abntl_toackbl_e.ic,o : l1 ibinose =5s12u) bUminttmeapdpin gc gwrc:afanstt_ flruseh_far ea(:i0n) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73aa000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page (cXEwN)c :d(fisiplea=tcghra_ntr_twa_bblleo.cc, kli_nioe:=5 112 ) bUnimaops pisnubgm giratntt edr ecwfc (:0)f faostr_f ldoumsha_airn e(a:1in) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73aa400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(XwENc):d is(pfialtceh_=rwg_rabntl_toabclek.c_,io : l1 ibnei=os5 s1u2)b Umnitmteadppi cnwcg:f agrsat_nflutsh _arreeaf :(1i)n for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73aa800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(XwEc:Nd)is pa(tcfhil_rew=g_rblaontc_k_tioa:bl e1 .bico, sli nsueb=5m12i)tt eUndmapp icnwcg:f asgtra_ntf lreuf s(1h)_a refaor: diomna in (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73aac00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(cXE:N)d i(fsilpeat=chg_rarntw__btlabolec.k_cio,: 1li nbieos= s5u12b) mUnimatpptiedng grcwac:nftas rte_f f(1l)us h_foar rdoemaai:inn (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73a8800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page (cwXcEN:)di sp(afitlec=h_grrawnt__bltocak_bilo:e 1.c , bliois nsue=b5m1i2)t teUndma pcpwincg :gfarsta_fnlt uresf h(1_)ar efoar :doimna in (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73a5c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(XEwNc) :(difspialet=gcrh_arntw_t_abblel.occk, _lioin:e =511 b2io)s Usnubmmiatptepding gcwrc:afants rte_fflu s(1h) _foarre a:dionm ain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:1077d800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73a4c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73a3400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:8 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73a3400 populated 2 sects cwc:dispatch_rw_block_io: buf:73a3400 populated 2 sects cwc:dispatch_rw_block_io: buf:73a2400 populated 2 sects cwc:dispatch_rw_block_io: buf:73a2400 populated 2 sects cwc:dispatch_rw_block_io: buf:73a2400 populated 2 sects cwc:dispatch_rw_block_io: buf:73a2400 populated 2 sects cwc:dispatch_rw_block_io: buf:73a1400 populated 2 sects cwc:dispatch_rw_block_io: buf:73a1400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatc(h_XrEw_Nb) l(ofcilk_ei=gora:n t_1ta blbeio.s csu,b milttiedne= 512c) wUc:nfmaapstp_infg lgusrh_aantr reea:fi (n1) for domain (1) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:73a0c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:739e400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:739d400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:7390000 populated 8 sects cwc:dispatch_rw_block_io: buf:738f000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) focwrc d:ofamsaitn _(fl1us)h w_iarteah: filan gs (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XcEwcN:d)i sp(faitlec=ghr_raw_nblto_tcabkl_ieo.c:p,o lsti nmaep=51 2) cUnwmc:adipsppatichn_g rgw_rblaonckt_i ore:fpr e(7 ) pfopoulrat e dseogsmai n c(wc1:d)is pawtitch hha_nrwd_blle o(ck7_i)o: b uf(:XE7N)3 8cwec:c__0g0 npttoabp_uluatnemd a8 pse_cgrtasn t_cwrc:edf:i sppatrche_r w_sbpiln_olcko_cki o(X:EN )b cuwcf:_:_g7n39tt9acb_0un0m paoppul_atgerad n2t_ rseectfs: po scwtc: dspiins_lpoackt c(h_XrwE_Nbl)oc kcw_cio::__ gnptosttab _biuo_namadp_dg_rapnta_rgeef :c pwrc:edi spapgatectah_brlw_ebl odcke_ilo:e 1t ebios (XsENu) bcwmcit:_t_egndt tab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:5 (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:738d000 populated 8 sects cwc:dispatch_rw_block_io: buf:734c000 populated 8 sects cwc:dispatch_rw_block_io: buf:734b000 populated 8 sects cwc:dispatch_rw_block_io: buf:734a000 populated 8 sects cwc:dispatch_rw_block_io: buf:7349000 populated 6 sects cwc:dispatch_rw_block_io: post bio_add_page cw(c:XdENi)sp a(ftilceh_=rwg_rabnlotck__taibo:l e.1c, bilosi snuebm=it5te1d2) cUwnmca:fpasptin_g fglursah_narte raef: in(4) focr wdc:odimsaipnat c(1h) _wrwi_thb lohcka_ndilo:ei (n4 n)segs (:1XEN ) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XcENw) c(f:ifalste_f=lgrusanht__taraeab:olue.tc , line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:7397c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(XcE:dNi) s(paftcihle_=rwg_brloacntk_t_aiob:le .c1, b iols isneu=5b1mi2t) tUnemadp cwpcin:g fgarasntt _frlueshf_ (a2re)a: ifonr domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:7396400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:7395800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_bl(XoEckN_) i(foil:e= gr1a bniots_t saubbmlitete.dc c,wc :lifnea=st5_f1l2)u shU_nmaaprpienag :ginr acwnc:td isrepfa (tc2h) _rfwor_ bldocok_miaion:i n(1 ) nwseigst:h 2hand le (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN)c (wcf:ilfeas=gtr_falunst_h_taabrelae.:cou,t line=401) Mapping grant ref (3) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:7394c00 populated 2 sects cwc:dispatch_rw_block_io: buf:7394c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:dispatch_rw_block_i(XoE:iNn) (fnilsee=ggrasn:1t cw_cta:bfalste_f.lucsh,_a rela:iinen= 512) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEcwNc):f ast(_ffliluesh=_graraena:to_tuabtl e.c, line=401) Mapping grant ref (2) for domain (1) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:7393c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bio(s XsENu)bm i(tftilede=g racnwct:_tfabales.ct,_f lulsinhe_a=re5a12:) iUnnm apping grant ref (2) for domain (1) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out stosp_tthoip_sth_isc_cppu udi sdiasabblel_leoc_alolc_AaPIlC_ APIC ssmtp_osep_ndt_hstiops d_icpsuab led_liocsaablle__lAocPalI_AC PIC device vif1.0 left promiscuous mode xen-br0: port 2(vif1.0) entering disabled state xen-br0: port 2(vif1.0) entering disabled state device vif2.0 entered promiscuous mode xen-br0: port 2(vif2.0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 2(vif2.0) entering forwarding state cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f66000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cw(c:XdENi)sp a(ftichl_rew_=blgroacknt__iot: a1ble .cb, ilosi snubemi=tt5ed12 c)w Ucnm:afapspitng_ gfrluashn_t arerf e(a0): fiorn dom ain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f62000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page c(XEwNc:)d (ifspiatlche_=grrw_anbtlo_ckt_iao:b 1le .bic,o s lsinue=b5mi1tt2e) dUn macppwincg:f asgtra_ntf relf u(0s)h f_ora dromeaian :(in2 ) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:in id:0 cwc:dispatch_probe:mid (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_probe:vbd_probe cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_probe:out response:2 cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f62400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(wXEcN): d(fiilse=pgatracnh_trw__btlaboclk_ei.co,: l1i bnei=os51 2)s ubUmnmiaptpitnge dgra cnwtc: farste_f f(1l)us hfo_r adormeaai:n i(n2) w ith handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f62800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(XwEc:Nd) i(sfiplea=tcgh_rraw_nbltoc_k_tioa:bl e1 .bic,o s lsinuebm=it5t12ed) cUnwmacp:fpasitng_ gfrluasnth _arreeaf :(1i)n for domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f62c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(wXc:EdiNs)pa tc(hf_riw_lbe=lgorcankt__tiabole:. 1c b,i loinse s=u5bm12i)tt eUndmap cpwci:ngfa sgrtan_tfl uresfh_ (a1re)a: ifonr domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f61800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page (XcEwcN:) d(fiilspea=gtracnh_t_rtawbl_e.bc,l oclk_iineo=5:1 12 b)i Uonmsa spupibnmigtt edg rcawnct :rfaestf_ (f1)l fuors dhom_aariean:i n( 2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f44c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(wXc:EdN)i (sfpilaetc=h_grwr_anbtlo_ctakbl_e.ico:, l1in ebi=os5 s1u2)bm iUntmatppeidn gc wcg:rafnta rseft (_f1l) ufosr hd_aomraeain: (i2)n with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e7e800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(XcEN:)di sp(afitlche_r=gwr_balonctk__iot: a1 bblei.co,s sulbmiitnteed=51 2c)wc :fUanmsaptpi_nflgus hgr_aarneat:i nr ef (1) for domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e7fc00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(wcX:ENd)is p(aftilce=hg_rrwan_t_btablleo.cc,k l_inieo:=5 121) Unbmioapsp siubnmigtt egrda nct wrecf :(1f) afsort _fdluomsah_iarnea :(2i) nw ith handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e80400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(c:XdEisNpa)t (cfh_irwl_bel=ocgk_rioa: n1 tbi_ost saubbmilttee.cd, lciwcn:feas=t51_2fl) uUshn_amreaapp:iinng g rant ref (1) for domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:8 (XEN) (file=grant_table.c, line=401) Mapping grant ref (1) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e80400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e80400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e81400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e81400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e81400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e81400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e82400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e82400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(XcE:dNis)p (afitlce=hgr_arwn_btl_toackb_iloe.:c, 1 lbiions es=5u12b)mi Utntmaeppding c gwrc:afanstt_ flrusehf _(1a)re a:fino r domain (2) with handle (7) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (2) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:4 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e82400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e82400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e83400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e83400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(XwcE:Ndi)sp a(ftilceh_=rwg_brloackn_ito:_ 1t abblei.osc s,ub miltinteed=5 c12w) cUn:mafpaspt_ifngl gursha_nat rreae:ifn (7 ) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:5 (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e83800 populated 2 sects cwc:dispatch_rw_block_io: buf:37e83800 populated 2 sects cwc:dispatch_rw_block_io: buf:37e84800 populated 2 sects cwc:dispatch_rw_block_io: buf:37e84800 populated 2 sects cwc:dispatch_rw_block_io: buf:37e84800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(XEcN:)di s(pfailtceh=g_rarnwt__tabblolcke_i.o:c , 1li nbieos= s5u12b) mUnimttaedppi cwncg :gfarsantt _frlefu (s4)h f_ora dromeaa:iin n(2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (3) for domain (2) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:7 (XEN) (file=grant_table.c, line=401) Mapping grant ref (3) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e84400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e85400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e85400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e85400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e85400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e86400 populated 2 sects cwc:dispatch_rw_block_io: buf:37e86400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(wXEcN:d)i (sfiplatec=ghr_raw_nbt_ltaoblcek_.ioc: ,1 biloinse s=ub5m12i) tUntmeda cpwcp:infg agrsat_nfltu rsefh (_3ar)ea :foir ndoma in (2) with handle (5) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e87c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(wXc:EdNis)p (aftcihle_=grrw_ablnot_ctk_abileo.c:, 1 l ibinose s=5u1bm2)i ttUnemda pcwpcin:gfa gsrt_aflntu shr_aerefa: (i0n) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e89400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(Xc:EdN)i sp(afitlec=ghr_rawnt_b_ltaoblcek_.ic,o l:in e1 =b51i2)o s Usunbmamppiittneg dg cwrcan:t fraefst _f(lu0s) hfo_r adreomaa:iinn (2 ) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e8a400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(XwEc:Nd) i(spfaticleh=_grranwt__tblaoblcke_i.oc,: l in1e b=io5s 1s2)ub mUnimatptepdin cgwc :grfanat srt_eff lu(sh0_) afreoar :doimna in (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:2 (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f36000 populated 8 sects cwc:dispatch_rw_block_io: buf:37f35000 populated 8 sects cwc:dispatch_rw_block_io: post bio_add_page cw(XcE:dNi) s(pafticleh=_rgwra_ntb_lotacbk_lieo:. 1c b,i loinse s=u51b2)m itUtnmeapdp incgwc :grfanat sretf _(fl0)u shfo_rar ead:ominain cw(c2): wditihsp athcanhdl_e r(3w)_ b(lXEoN)c k_ciow:icn :ns_e_ggntsta:b2_ unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XENc) w(fci:flae=sgrta_fnlutsh__taraeab:olute.c , line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f34c00 populated 8 sects cwc:dispatch_rw_block_io: buf:37e8dc00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page c(XwENc) :(difspiatlce=hg_rarntw__btlaobckl_ieo.c: ,1 blioisne s=u51b2mi)tt edUnm cwac:pfpiangs t_gflruansth_ arreae:ifn (4) for domain (2) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (5) for domain (2) with handle (3) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:5 (XEN) (file=grant_table.c, line=401) Mapping grant ref (5) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (4) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f33000 populated 8 sects cwc:dispatch_rw_block_io: buf:37f32000 populated 8 sects cwc:dispatch_rw_block_io: buf:37f31000 populated 8 sects cwc:dispatch_rw_block_io: buf:37f30000 populated 8 sects cwc:dispatch_rw_block_io: buf:37f2f000 populated 6 sects cwc:dispatch_rw_block_io: post bio_add_page cw(cX:ENd) i(spfaitclh_er=gwra_nbltoc_kta_blie.oc,: l in1e= 51b2)i osU snumabppmiitntg egrdant c rwec:f f(as5t_)f flousrh_ adormaeina (:2in) w icthwc :hadnisdpaltceh (_3r)w (_XEbNlo)ck _ico:winc n:se_g_gsn:1tta b_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (4) for domain (2) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XENc) w(c:ffaistl_felu=sgrhan_tar_etaa:boulte .c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e8fc00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page (cXEwNc:)d (isfpilae=tgrcanht__tarblwe._cbl,oc k_liino:e= 51 1bi2os) s ubUmintmatppeindg g crwanct:f raestf_ (f7lu)sh f_oarrea :doimani n (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e90400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(Xc:EdN)i sp(atfcilhe_r=w_gbralnoctk__itaobl:e 1. bci, ols isunbmei=5t1te2d) Un mcwac:pfapisngt g_rafnlut srh_eaf r(7ea): fionr domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e91800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cw(c:XdENi)sp at(cfihle_=rwg_brlanot_ctabk_lie.oc: ,1 bliineo=s 5s12u) bUminttmeapdpin g cgrwca:ntf raestf _(fl7us)h f_ora reda:oimanin cw(c:2di)s wpiatcth_hr hwan_dlbelo c(1k)_ (XiENo):i n cnswec:g__sgn:tt2a b_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (cXwENc) :(ffiaslt_ef=glraunts_thab_lea.cre,a :olutine =401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e92c00 populated 2 sects cwc:dispatch_rw_block_io: buf:37e92c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page (XcENw)c: di(sfiplea=tcgh_rranwt_b_lotcabkl_ieo.c: ,1 l ibinoe=s51 s2ub)mi tUntmaeppd ingc wcg:fraanst tr_felufs (h6)_ arfeao:rin dcomwaicn :(di2sp)at cwiht_rhw_ blhoancdk_lie o(1:i)n (nXEsN)e cgwcs::1_ _gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (cXwcE:fNas)t_ f(fluisleh_=argear:anot_utta ble.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e93c00 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page (XcENw) c:d(fiilsepa=tcghra_ntr_w_tblaocbkle_.ci,o: li1ne =bi5os1 s2u) bUmintmatppeidn cgwc: fagstr_falntus h_rareef a(7:)in for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:1 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37e95400 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out cwc:dispatch_rw_block_io:in nsegs:4 (XEN) (file=grant_table.c, line=401) Mapping grant ref (7) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (0) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (6) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out (XEN) (file=grant_table.c, line=401) Mapping grant ref (2) for domain (2) with flags (2) (XEN) cwc:__gnttab_activate_grant_ref: pre spin_lock (XEN) cwc:__gnttab_activate_grant_ref: post spin_lock (XEN) cwc:__gnttab_activate_grant_ref: spin_unlock (XEN) cwc:__gnttab_activate_grant_ref: out cwc:dispatch_rw_block_io:post map cwc:dispatch_rw_block_io:pre populate segs cwc:dispatch_rw_block_io: buf:37f2e800 populated 8 sects cwc:dispatch_rw_block_io: buf:37f2d800 populated 8 sects cwc:dispatch_rw_block_io: buf:cac800 populated 8 sects cwc:dispatch_rw_block_io: buf:37e96800 populated 2 sects cwc:dispatch_rw_block_io: post bio_add_page cwc:dispatch_rw_block_io: 1 bios submitted cwc:fast_flush_area:in (XEN) (file=grant_table.c, line=512) Unmapping grant ref (7) for domain (2) with handle (2) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (0) for domain (2) with handle (1) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (6) for domain (2) with handle (4) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock (XEN) (file=grant_table.c, line=512) Unmapping grant ref (2) for domain (2) with handle (6) (XEN) cwc:__gnttab_unmap_grant_ref: pre spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: post spin_lock (XEN) cwc:__gnttab_unmap_grant_ref: pre pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: post pagetable delete (XEN) cwc:__gnttab_unmap_grant_ref: out spin_unlock cwc:fast_flush_area:out device vif2.0 left promiscuous mode xen-br0: port 2(vif2.0) entering disabled state xen-br0: port 2(vif2.0) entering disabled state [-- Attachment #8: Type: text/plain, Size: 138 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-18 20:51 ` Ryan Harper @ 2005-04-20 18:52 ` Christopher Clark 2005-04-20 19:37 ` Ryan Harper 2005-05-12 1:50 ` Xiaofeng Ling 0 siblings, 2 replies; 40+ messages in thread From: Christopher Clark @ 2005-04-20 18:52 UTC (permalink / raw) To: Ryan Harper; +Cc: xen-devel Ryan Many thanks for taking the traces. I've located a bug in the block backend that may or may not be the required fix -- it's a move of a single line, see the patch below. c. Signed-off-by: Christopher Clark diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c --- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-04-20 11:31:20 -07:00 +++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-04-20 11:31:20 -07:00 @@ -516,11 +516,11 @@ for ( i = 0; i < nseg; i++ ) { + fas = req->frame_and_sects[i]; #ifdef CONFIG_XEN_BLKDEV_GRANT seg[i].buf = (aop[i].u.map_grant_ref.dev_bus_addr << PAGE_SHIFT) | (blkif_first_sect(fas) << 9); #else - fas = req->frame_and_sects[i]; seg[i].buf = (fas & PAGE_MASK) | (blkif_first_sect(fas) << 9); seg[i].nsec = blkif_last_sect(fas) - blkif_first_sect(fas) + 1; if ( seg[i].nsec <= 0 ) On 4/18/05, Ryan Harper <ryanh@us.ibm.com> wrote: > * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-18 11:39]: > > Ryan and Anthony: I've attached a patch that I'd like you to apply to > > your unstable tree -- it just printk's almost everything so I can get > > an idea of the code path you're running. > > Alternatively, the three .c files modified by the patch are also > > attached - they're taken from 2005-04-14 unstable and you should be > > able to just replace the files in your tree. > > > > After changing your tree and rebuilding, please send the console logs > > from boot onwards for xen/dom0 and domU, in a uniprocessor > > configuration, both with and without using grant tables for block > > transport. > > I've applied the patch and I have a bunch of logs. > > 1) domU boot output when dom0up boots domUup > 2) domU boot output when dom0up boots domUsmp > 3) xen console output for 1) and 2) > 4) domU boot output when dom0smp boots domUup > 5) domU boot output when dom0smp boots domUsmp > 6) xen console output for 4) and 5) > > In the above cases, dom0up was simulated with maxcpu=1, as I still don't > have that UP box setup. If you can't find anything in these logs then > I'll go get a real UP box and repeat the dumps. > > -- > Ryan Harper > Software Engineer; Linux Technology Center > IBM Corp., Austin, Tx > (512) 838-9253 T/L: 678-9253 > ryanh@us.ibm.com > > > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-20 18:52 ` Christopher Clark @ 2005-04-20 19:37 ` Ryan Harper 2005-04-22 18:57 ` Ryan Harper 2005-05-12 1:50 ` Xiaofeng Ling 1 sibling, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-20 19:37 UTC (permalink / raw) To: cwc22; +Cc: xen-devel * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-20 13:53]: > Ryan > > Many thanks for taking the traces. I've located a bug in the block > backend that may or may not be the required fix -- it's a move of a > single line, see the patch below. Sure. I'll give this patch a try and let you know. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-20 19:37 ` Ryan Harper @ 2005-04-22 18:57 ` Ryan Harper 2005-04-22 19:06 ` Anthony Liguori 0 siblings, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-22 18:57 UTC (permalink / raw) To: cwc22; +Cc: xen-devel * Ryan Harper <ryanh@us.ibm.com> [2005-04-20 14:38]: > * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-20 13:53]: > > Ryan > > > > Many thanks for taking the traces. I've located a bug in the block > > backend that may or may not be the required fix -- it's a move of a > > single line, see the patch below. > > Sure. I'll give this patch a try and let you know. Sorry to be late on this. Moving that patch does it! Thanks. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-22 18:57 ` Ryan Harper @ 2005-04-22 19:06 ` Anthony Liguori 0 siblings, 0 replies; 40+ messages in thread From: Anthony Liguori @ 2005-04-22 19:06 UTC (permalink / raw) To: Ryan Harper; +Cc: cwc22, xen-devel Ryan Harper wrote: >* Ryan Harper <ryanh@us.ibm.com> [2005-04-20 14:38]: > > >>* Christopher Clark <christopher.w.clark@gmail.com> [2005-04-20 13:53]: >> >> >>>Ryan >>> >>>Many thanks for taking the traces. I've located a bug in the block >>>backend that may or may not be the required fix -- it's a move of a >>>single line, see the patch below. >>> >>> >>Sure. I'll give this patch a try and let you know. >> >> > >Sorry to be late on this. Moving that patch does it! Thanks. > > I've had the patch applied and the grant table code enabled for about a day and have not experienced any troubles. Previously, I was experiencing a crash every couple hours. I'll let you know if anything changes. Thanks Chris! Regards, Anthony Liguori ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-20 18:52 ` Christopher Clark 2005-04-20 19:37 ` Ryan Harper @ 2005-05-12 1:50 ` Xiaofeng Ling 1 sibling, 0 replies; 40+ messages in thread From: Xiaofeng Ling @ 2005-05-12 1:50 UTC (permalink / raw) To: cwc22; +Cc: Ryan Harper, xen-devel I found there is bug in the 2.4 vbd grant table code ===== xen-bk/linux-2.6.11-xen-sparse/drivers/xen/blkfront/blkfront.c 1.53 vs edited ===== --- 1.53/linux-2.6.11-xen-sparse/drivers/xen/blkfront/blkfront.c 2005-04-21 17:14:12 +08:00 +++ edited/xen-bk/linux-2.6.11-xen-sparse/drivers/xen/blkfront/blkfront.c 2005-05-12 09:15:38 +08:00 @@ -824,7 +824,7 @@ buffer_ma >> PAGE_SHIFT, ( operation == BLKIF_OP_WRITE ? 1 : 0 ) ); - blk_shadow[id].frame[req->nr_segments] = + blk_shadow[req->id].frame[req->nr_segments] = buffer_ma >> PAGE_SHIFT; req->frame_and_sects[req->nr_segments] = Christopher Clark wrote: > Ryan > > Many thanks for taking the traces. I've located a bug in the block > backend that may or may not be the required fix -- it's a move of a > single line, see the patch below. > > c. > > Signed-off-by: Christopher Clark > > diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c > b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c > --- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-04-20 > 11:31:20 -07:00 > +++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-04-20 > 11:31:20 -07:00 > @@ -516,11 +516,11 @@ ^ permalink raw reply [flat|nested] 40+ messages in thread
* RE: Unstableness in grant table block drivers @ 2005-04-14 10:24 Ian Pratt 2005-04-14 10:34 ` Ge van Geldorp 0 siblings, 1 reply; 40+ messages in thread From: Ian Pratt @ 2005-04-14 10:24 UTC (permalink / raw) To: Ge van Geldorp, xen-devel; +Cc: christopher.w.clark > Is CONFIG_XEN_BLKDEV_GRANT going to be a permanent thing or > will the "! > defined(CONFIG_XEN_BLKDEV_GRANT)" code be removed at some > point? The config option will probably be removed at some point. It's just there to aid debugging in case someone reported block dev problems. > IMHO, having binary incompatibilities like this > between dom0 and domU is going to be a pain. In the *unstable* series you really shouldn't be relying on compatibility between different versions of the tools, xen, or the kernels. You should always install a complete set of binaries. In the unstable series we reserve the right to change interfaces, and frequently do. Best, Ian ^ permalink raw reply [flat|nested] 40+ messages in thread
* RE: Unstableness in grant table block drivers 2005-04-14 10:24 Ian Pratt @ 2005-04-14 10:34 ` Ge van Geldorp 0 siblings, 0 replies; 40+ messages in thread From: Ge van Geldorp @ 2005-04-14 10:34 UTC (permalink / raw) To: 'Ian Pratt', xen-devel; +Cc: christopher.w.clark > From: Ian Pratt [mailto:m+Ian.Pratt@cl.cam.ac.uk] > > > Is CONFIG_XEN_BLKDEV_GRANT going to be a permanent thing or > > will the "! defined(CONFIG_XEN_BLKDEV_GRANT)" code be > > removed at some point? > > The config option will probably be removed at some point. > It's just there to aid debugging in case someone reported > block dev problems. Ok, cool. > In the unstable series we reserve the right to > change interfaces, and frequently do. Yeah, I noticed <g>. That's cool too, I was just hoping that the config option would be gone by the time -unstable turns into -testing, and it seems that will probably be the case. Ge van Geldorp. ^ permalink raw reply [flat|nested] 40+ messages in thread
[parent not found: <E1DLu58-0005lx-KR@host-192-168-0-1-bcn-london>]
* RE: Unstableness in grant table block drivers [not found] <E1DLu58-0005lx-KR@host-192-168-0-1-bcn-london> @ 2005-04-14 10:17 ` Ge van Geldorp 0 siblings, 0 replies; 40+ messages in thread From: Ge van Geldorp @ 2005-04-14 10:17 UTC (permalink / raw) To: xen-devel; +Cc: christopher.w.clark > From: Christopher Clark <christopher.w.clark@gmail.com> > > The machines you can't get to start domUs, and symptom of not > finding the root filesystem is exactly what you'd see if your > dom0 and domU configs don't match; either both or neither > need to be using grant tables for transport. Is CONFIG_XEN_BLKDEV_GRANT going to be a permanent thing or will the "! defined(CONFIG_XEN_BLKDEV_GRANT)" code be removed at some point? IMHO, having binary incompatibilities like this between dom0 and domU is going to be a pain. Ge van Geldorp. ^ permalink raw reply [flat|nested] 40+ messages in thread
[parent not found: <aliguori@us.ibm.com>]
* Unstableness in grant table block drivers @ 2005-04-14 1:18 ` Anthony Liguori 2005-04-14 1:20 ` Steven Hand 0 siblings, 1 reply; 40+ messages in thread From: Anthony Liguori @ 2005-04-14 1:18 UTC (permalink / raw) To: xen-devel We've experienced a lot of problems in the new grant table-based block drivers. It's exposing itself in a number of ways. I've seen it stop working after working for a bit, sometimes XenU stops half-way through boot, and on one system init panics because it can't find a root filesystem. Grant table block drivers are now the default config option in xen-unstable even though it's marked as experimental. Perhaps it should not be default until it gets a bit more stable? I know the last week's been really busy, but in the future, it would be nice if a big destabilizing change like this could get announced on xen-devel so we could be on the look out for these sort of bugs. Thanks, -- Anthony Liguori Linux Technology Center (LTC) - IBM Austin E-mail: aliguori@us.ibm.com Phone: (512) 838-1208 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 1:18 ` Anthony Liguori @ 2005-04-14 1:20 ` Steven Hand 2005-04-14 1:46 ` Anthony Liguori 2005-04-14 1:53 ` Kip Macy 0 siblings, 2 replies; 40+ messages in thread From: Steven Hand @ 2005-04-14 1:20 UTC (permalink / raw) To: Anthony Liguori; +Cc: xen-devel, Steven.Hand >We've experienced a lot of problems in the new grant table-based block >drivers. It's exposing itself in a number of ways. I've seen it stop >working after working for a bit, sometimes XenU stops half-way through >boot, and on one system init panics because it can't find a root >filesystem. Have you made any progress in further identifying or narrowing down these bugs? Detailed bug reports or, better, patches, are always more useful than general reports of issues. >Grant table block drivers are now the default config option in >xen-unstable even though it's marked as experimental. Perhaps it should >not be default until it gets a bit more stable? We've not seen any bugs ourselves but obviously if it's biting you regularly then may be worth while disabling in your config. I'm loathe to disable it by default in the general config since this won't help us uncover and fix whatever bugs are present. >I know the last week's been really busy, but in the future, it would be >nice if a big destabilizing change like this could get announced on >xen-devel so we could be on the look out for these sort of bugs. Sure, good point (though as mentioned above, we hadn't seen any problems ourselves -- we strongly appreciate the community effort in helping us ensure new changes work on a broad range of configs and usage scenarios). cheers, S. ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 1:20 ` Steven Hand @ 2005-04-14 1:46 ` Anthony Liguori 2005-04-14 1:53 ` Kip Macy 1 sibling, 0 replies; 40+ messages in thread From: Anthony Liguori @ 2005-04-14 1:46 UTC (permalink / raw) To: Steven Hand; +Cc: xen-devel Steven Hand wrote: >Have you made any progress in further identifying or narrowing down >these bugs? Detailed bug reports or, better, patches, are always more >useful than general reports of issues. > > This is where having a bugzilla would really help out. At this stage, I don't know that much but enough that I could enter something in bugzilla. As I learn more, we could add more detail until there was enough that someone (or I) could actually fix it. >We've not seen any bugs ourselves but obviously if it's biting you >regularly then may be worth while disabling in your config. I'm >loathe to disable it by default in the general config since this >won't help us uncover and fix whatever bugs are present. > > That's why I suggested just sending a note to the list. Bugs need to be found and that's what xen-unstable should be for. I'm happy to leave it enabled by default but wanted to let the rest of the list know that if they run into stability problems that might be a good place to start looking. Regards, Anthony Liguori ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 1:20 ` Steven Hand 2005-04-14 1:46 ` Anthony Liguori @ 2005-04-14 1:53 ` Kip Macy 2005-04-14 2:27 ` Anthony Liguori 1 sibling, 1 reply; 40+ messages in thread From: Kip Macy @ 2005-04-14 1:53 UTC (permalink / raw) To: Steven Hand; +Cc: xen-devel > Sure, good point (though as mentioned above, we hadn't seen any > problems ourselves -- we strongly appreciate the community effort > in helping us ensure new changes work on a broad range of configs > and usage scenarios). I think it is safe to say that the blkback/blkfront still have some serious bugs to be fixed even in the absences of grant tables. Exporting more than a couple of block devices to VMs will eventually cause domUs to stop receiving block I/O. I hope to have time to create a scenario that works quicktly and with a sufficiently small configuration that you'll be able to reproduce it there. To date I've only tried it with a fairly large number of LUNs. Developers using xen here periodically have to re-boot their machines as a result. They can't reproduce it consistently (thankfully), but they're typically only using 7-10 VBDs. -Kip ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 1:53 ` Kip Macy @ 2005-04-14 2:27 ` Anthony Liguori 2005-04-14 2:55 ` Kip Macy 0 siblings, 1 reply; 40+ messages in thread From: Anthony Liguori @ 2005-04-14 2:27 UTC (permalink / raw) To: Kip Macy; +Cc: xen-devel, Steven Hand Kip Macy wrote: >I think it is safe to say that the blkback/blkfront still have some >serious bugs to be fixed even in the absences of grant tables. > > How many is a lot of VBDs? I've done quite a bit of testing of the devices (with Xend and with VM-Tools) and I've found the block drivers to be very reliable. I've not gone much higher than 3 or 4 VBDs for each domain though. Regards, Anthony Liguoris ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 2:27 ` Anthony Liguori @ 2005-04-14 2:55 ` Kip Macy 0 siblings, 0 replies; 40+ messages in thread From: Kip Macy @ 2005-04-14 2:55 UTC (permalink / raw) To: Anthony Liguori; +Cc: xen-devel, Steven Hand If I do 3 VMs x 40 iSCSI LUNs/VM x foreach (lun) dd if=/dev/zero of=/dev/xbd<n> bs=64k iscsi ops will stop going across the wire in 2 - 3 minutes. Access to the LUNs from DOM0 still works. I haven't had a chance to try a smaller configuration. This is all scripted so it only takes a minute to set up, but I'm busy trying to get FreeBSD to run (and not have DOM0 lockup) on a recent -unstable. -Kip On 4/13/05, Anthony Liguori <aliguori@us.ibm.com> wrote: > Kip Macy wrote: > > >I think it is safe to say that the blkback/blkfront still have some > >serious bugs to be fixed even in the absences of grant tables. > > > > > How many is a lot of VBDs? I've done quite a bit of testing of the > devices (with Xend and with VM-Tools) and I've found the block drivers > to be very reliable. I've not gone much higher than 3 or 4 VBDs for > each domain though. > > Regards, > Anthony Liguoris > ^ permalink raw reply [flat|nested] 40+ messages in thread
* RE: Unstableness in grant table block drivers @ 2005-04-14 1:16 Ian Pratt 2005-04-14 1:43 ` Anthony Liguori 0 siblings, 1 reply; 40+ messages in thread From: Ian Pratt @ 2005-04-14 1:16 UTC (permalink / raw) To: Anthony Liguori, xen-devel > We've experienced a lot of problems in the new grant > table-based block drivers. It's exposing itself in a number > of ways. I've seen it stop working after working for a bit, > sometimes XenU stops half-way through boot, and on one system > init panics because it can't find a root filesystem. OK, that's news to us - we haven't seen any problems. It's been tested with dd's and kernel builds, and wasn't expected to be a particularly dangerous change. How you confirmed that disabling the option fixes your problems? Can you give a simple recipe to provoke problems? > I know the last week's been really busy, but in the future, > it would be nice if a big destabilizing change like this > could get announced on xen-devel so we could be on the look > out for these sort of bugs. It doesn't seem to be destablizing, at least for us. Possibly there's been some feature interaction with later checkins. Anyone using the unstable tree should be reading the changelog closely... Ian ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 1:16 Ian Pratt @ 2005-04-14 1:43 ` Anthony Liguori 2005-04-14 2:04 ` Christopher Clark 0 siblings, 1 reply; 40+ messages in thread From: Anthony Liguori @ 2005-04-14 1:43 UTC (permalink / raw) To: Ian Pratt; +Cc: xen-devel Ian Pratt wrote: >OK, that's news to us - we haven't seen any problems. > >It's been tested with dd's and kernel builds, and wasn't expected to be >a particularly dangerous change. > >How you confirmed that disabling the option fixes your problems? Can you >give a simple recipe to provoke problems? > We've had three different systems lose the ability to start domUs. Disabling VBD grant tables fixed the problem. The best reproducable example we have is default config on a domU from today's xen-unstable snapshot. /dev/console is not accessible and no valid root is found. In my own case, it was working fairly well and then it just stopped working. It would die mid-way through boot. Again, disabling VBD grant-tables fixed the problem. I'm going to look into the problem this evening and see if I can get you guys a more reproducable scenario. >It doesn't seem to be destablizing, at least for us. Possibly there's >been some feature interaction with later checkins. > > Possibly. >Anyone using the unstable tree should be reading the changelog >closely... > > I agree. I do, but I don't think a lot of people do. I'm not trying to give you guys more work to do :-) Just a quick note to xen-devel would suffice (if you've got an extra second). Thanks Ian, Regards, Anthony Liguori >Ian > > > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 1:43 ` Anthony Liguori @ 2005-04-14 2:04 ` Christopher Clark 2005-04-14 2:17 ` Kip Macy ` (2 more replies) 0 siblings, 3 replies; 40+ messages in thread From: Christopher Clark @ 2005-04-14 2:04 UTC (permalink / raw) To: Anthony Liguori; +Cc: xen-devel Hello Anthony First off, hands up: this was my code and I just didn't get around to sending the mail to the list as I had enough to deal with relocating from the UK to the US last week. The code was, however, tested under load and working fine, and I did consider it to be ready for wider testing in unstable. The machines you can't get to start domUs, and symptom of not finding the root filesystem is exactly what you'd see if your dom0 and domU configs don't match; either both or neither need to be using grant tables for transport. Your other issues will need more investigation, and a reproducable scenario would be extremely helpful indeed. Regards, Christopher On 4/13/05, Anthony Liguori <aliguori@us.ibm.com> wrote: > Ian Pratt wrote: > > >OK, that's news to us - we haven't seen any problems. > > > >It's been tested with dd's and kernel builds, and wasn't expected to be > >a particularly dangerous change. > > > >How you confirmed that disabling the option fixes your problems? Can you > >give a simple recipe to provoke problems? > > > We've had three different systems lose the ability to start domUs. > Disabling VBD grant tables fixed the problem. The best reproducable > example we have is default config on a domU from today's xen-unstable > snapshot. /dev/console is not accessible and no valid root is found. > > In my own case, it was working fairly well and then it just stopped > working. It would die mid-way through boot. Again, disabling VBD > grant-tables fixed the problem. I'm going to look into the problem this > evening and see if I can get you guys a more reproducable scenario. > > >It doesn't seem to be destablizing, at least for us. Possibly there's > >been some feature interaction with later checkins. > > > > > Possibly. > > >Anyone using the unstable tree should be reading the changelog > >closely... > > > > > I agree. I do, but I don't think a lot of people do. I'm not trying to > give you guys more work to do :-) Just a quick note to xen-devel would > suffice (if you've got an extra second). > > Thanks Ian, > > Regards, > Anthony Liguori > > >Ian > > > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 2:04 ` Christopher Clark @ 2005-04-14 2:17 ` Kip Macy 2005-04-14 2:25 ` Anthony Liguori 2005-04-14 15:00 ` Ryan Harper 2 siblings, 0 replies; 40+ messages in thread From: Kip Macy @ 2005-04-14 2:17 UTC (permalink / raw) To: cwc22; +Cc: xen-devel So domUs have to have grant table support enabled if dom0 does? -Kip On 4/13/05, Christopher Clark <christopher.w.clark@gmail.com> wrote: > Hello Anthony > > First off, hands up: this was my code and I just didn't get around to > sending the mail to the list as I had enough to deal with relocating > from the UK to the US last week. The code was, however, tested under > load and working fine, and I did consider it to be ready for wider > testing in unstable. > > The machines you can't get to start domUs, and symptom of not finding > the root filesystem is exactly what you'd see if your dom0 and domU > configs don't match; either both or neither need to be using grant > tables for transport. Your other issues will need more investigation, > and a reproducable scenario would be extremely helpful indeed. > > Regards, > > Christopher > > > On 4/13/05, Anthony Liguori <aliguori@us.ibm.com> wrote: > > Ian Pratt wrote: > > > > >OK, that's news to us - we haven't seen any problems. > > > > > >It's been tested with dd's and kernel builds, and wasn't expected to be > > >a particularly dangerous change. > > > > > >How you confirmed that disabling the option fixes your problems? Can you > > >give a simple recipe to provoke problems? > > > > > We've had three different systems lose the ability to start domUs. > > Disabling VBD grant tables fixed the problem. The best reproducable > > example we have is default config on a domU from today's xen-unstable > > snapshot. /dev/console is not accessible and no valid root is found. > > > > In my own case, it was working fairly well and then it just stopped > > working. It would die mid-way through boot. Again, disabling VBD > > grant-tables fixed the problem. I'm going to look into the problem this > > evening and see if I can get you guys a more reproducable scenario. > > > > >It doesn't seem to be destablizing, at least for us. Possibly there's > > >been some feature interaction with later checkins. > > > > > > > > Possibly. > > > > >Anyone using the unstable tree should be reading the changelog > > >closely... > > > > > > > > I agree. I do, but I don't think a lot of people do. I'm not trying to > > give you guys more work to do :-) Just a quick note to xen-devel would > > suffice (if you've got an extra second). > > > > Thanks Ian, > > > > Regards, > > Anthony Liguori > > > > >Ian > > > > > > > > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xensource.com > > http://lists.xensource.com/xen-devel > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 2:04 ` Christopher Clark 2005-04-14 2:17 ` Kip Macy @ 2005-04-14 2:25 ` Anthony Liguori 2005-04-14 15:00 ` Ryan Harper 2 siblings, 0 replies; 40+ messages in thread From: Anthony Liguori @ 2005-04-14 2:25 UTC (permalink / raw) To: cwc22; +Cc: xen-devel Christopher Clark wrote: >Hello Anthony > >First off, hands up: this was my code and I just didn't get around to >sending the mail to the list as I had enough to deal with relocating >from the UK to the US last week. The code was, however, tested under >load and working fine, and I did consider it to be ready for wider >testing in unstable. > > Hi Christopher, My note was more of a suggestion for the future than a complaint. You guys in Cambridge move very quickly and it's hard for some of us outside to keep up :-) You guys just keep churning out cool stuff. >The machines you can't get to start domUs, and symptom of not finding >the root filesystem is exactly what you'd see if your dom0 and domU >configs don't match; either both or neither need to be using grant >tables for transport. Your other issues will need more investigation, >and a reproducable scenario would be extremely helpful indeed. > > Actually, this seems like it might be a common thread between all of our scenarios. I'm using (and I assume others) a standard dom0 config file that has all of my hardware enabled while I just use the default config file for domU. I'll try to confirm this tomorrow with the other people that were experiencing problems. Perhaps I'll run a copy of fsstress too and let you guys know the results. Regards, Anthony Liguori >Regards, > >Christopher > > >On 4/13/05, Anthony Liguori <aliguori@us.ibm.com> wrote: > > >>Ian Pratt wrote: >> >> >> >>>OK, that's news to us - we haven't seen any problems. >>> >>>It's been tested with dd's and kernel builds, and wasn't expected to be >>>a particularly dangerous change. >>> >>>How you confirmed that disabling the option fixes your problems? Can you >>>give a simple recipe to provoke problems? >>> >>> >>> >>We've had three different systems lose the ability to start domUs. >>Disabling VBD grant tables fixed the problem. The best reproducable >>example we have is default config on a domU from today's xen-unstable >>snapshot. /dev/console is not accessible and no valid root is found. >> >>In my own case, it was working fairly well and then it just stopped >>working. It would die mid-way through boot. Again, disabling VBD >>grant-tables fixed the problem. I'm going to look into the problem this >>evening and see if I can get you guys a more reproducable scenario. >> >> >> >>>It doesn't seem to be destablizing, at least for us. Possibly there's >>>been some feature interaction with later checkins. >>> >>> >>> >>> >>Possibly. >> >> >> >>>Anyone using the unstable tree should be reading the changelog >>>closely... >>> >>> >>> >>> >>I agree. I do, but I don't think a lot of people do. I'm not trying to >>give you guys more work to do :-) Just a quick note to xen-devel would >>suffice (if you've got an extra second). >> >>Thanks Ian, >> >>Regards, >>Anthony Liguori >> >> >> >>>Ian >>> >>> >>> >>> >>> >>_______________________________________________ >>Xen-devel mailing list >>Xen-devel@lists.xensource.com >>http://lists.xensource.com/xen-devel >> >> >> > > > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 2:04 ` Christopher Clark 2005-04-14 2:17 ` Kip Macy 2005-04-14 2:25 ` Anthony Liguori @ 2005-04-14 15:00 ` Ryan Harper 2005-04-14 16:34 ` Christopher Clark 2 siblings, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-14 15:00 UTC (permalink / raw) To: cwc22; +Cc: xen-devel * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-13 21:04]: Hi, > The machines you can't get to start domUs, and symptom of not finding > the root filesystem is exactly what you'd see if your dom0 and domU > configs don't match; either both or neither need to be using grant > tables for transport. Your other issues will need more investigation, I build xen-unstable nightly and install it completely to my test box. My configs between dom0 and domU are always identicle except for priviledged domain. > and a reproducable scenario would be extremely helpful indeed. My scenario is building the default configs either as UP or with adding in CONFIG_SMP. The resule is always, dom0 will boot, domU will not. domU fails with not finding /dev/console and no root device. I use loopback device mounts exported as /dev/sda1. As soon as I turn off CONFIG_XEN_BLKDEV_GRANT in dom0/U configs, the domU boots properly. I build with debug=y and I can generate any sort of dump or information you need to track this down. Let me know what you need. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 15:00 ` Ryan Harper @ 2005-04-14 16:34 ` Christopher Clark 2005-04-14 17:28 ` Ryan Harper 0 siblings, 1 reply; 40+ messages in thread From: Christopher Clark @ 2005-04-14 16:34 UTC (permalink / raw) To: Ryan Harper; +Cc: xen-devel Kip: Yes, domUs must use grant tables for block device access if dom0 does. It's configuring the format of the shared rings between the front and back ends. Ryan: Are your issues with 2.4 or 2.6? The least tested code is the 2.4 backend in dom0. 2.6 in dom0 should support both 2.4 and 2.6 front ends fine, though so far I've been using partitions rather than exported loopback devices. I'm aiming to have a working development environment by the end of the day, and first order of business will be to reproduce these issues. Christopher On 4/14/05, Ryan Harper <ryanh@us.ibm.com> wrote: > * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-13 21:04]: > Hi, > > > The machines you can't get to start domUs, and symptom of not finding > > the root filesystem is exactly what you'd see if your dom0 and domU > > configs don't match; either both or neither need to be using grant > > tables for transport. Your other issues will need more investigation, > > I build xen-unstable nightly and install it completely to my test box. > My configs between dom0 and domU are always identicle except for > priviledged domain. > > > and a reproducable scenario would be extremely helpful indeed. > > My scenario is building the default configs either as UP or with adding > in CONFIG_SMP. The resule is always, dom0 will boot, domU will not. > domU fails with not finding /dev/console and no root device. > > I use loopback device mounts exported as /dev/sda1. > > As soon as I turn off CONFIG_XEN_BLKDEV_GRANT in dom0/U configs, > the domU boots properly. > > I build with debug=y and I can generate any sort of dump or information > you need to track this down. Let me know what you need. > > -- > Ryan Harper > Software Engineer; Linux Technology Center > IBM Corp., Austin, Tx > (512) 838-9253 T/L: 678-9253 > ryanh@us.ibm.com > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 16:34 ` Christopher Clark @ 2005-04-14 17:28 ` Ryan Harper 2005-04-15 18:45 ` Christopher Clark 0 siblings, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-14 17:28 UTC (permalink / raw) To: cwc22; +Cc: xen-devel * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-14 11:35]: > Ryan: > Are your issues with 2.4 or 2.6? I'm 2.6 all the way. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-14 17:28 ` Ryan Harper @ 2005-04-15 18:45 ` Christopher Clark 2005-04-15 21:14 ` Ryan Harper 0 siblings, 1 reply; 40+ messages in thread From: Christopher Clark @ 2005-04-15 18:45 UTC (permalink / raw) To: Ryan Harper; +Cc: xen-devel Hi Ryan OK, I've got a system I can work on now. Could you please modify the GRANT_DEBUG and GRANT_DEBUG_VERBOSE to be set to 1, at the top of xen/common/grant_table.c and then make a debug build of xen. The verbose option will slow any successful boot down to a crawl, so you don't want to leave it on unnecessarily once things are working. I'd like to see: all the boot messages from xen and dom0 the same from your attempt to boot domU If you have to option to test it on a uniprocessor box, please use that as that would match what I'm using here. thanks Christopher On 4/14/05, Ryan Harper <ryanh@us.ibm.com> wrote: > * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-14 11:35]: > > Ryan: > > Are your issues with 2.4 or 2.6? > > I'm 2.6 all the way. > > -- > Ryan Harper > Software Engineer; Linux Technology Center > IBM Corp., Austin, Tx > (512) 838-9253 T/L: 678-9253 > ryanh@us.ibm.com > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 18:45 ` Christopher Clark @ 2005-04-15 21:14 ` Ryan Harper 2005-04-15 21:32 ` Kip Macy 0 siblings, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-15 21:14 UTC (permalink / raw) To: cwc22; +Cc: xen-devel [-- Attachment #1: Type: text/plain, Size: 906 bytes --] * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-15 13:44]: > Hi Ryan > > OK, I've got a system I can work on now. > Could you please modify the GRANT_DEBUG and GRANT_DEBUG_VERBOSE to be > set to 1, at the top of xen/common/grant_table.c and then make a debug > build of xen. > > The verbose option will slow any successful boot down to a crawl, so > you don't want to leave it on unnecessarily once things are working. > > I'd like to see: > all the boot messages from xen and dom0 > the same from your attempt to boot domU Attached, both smp and non-smp. > If you have to option to test it on a uniprocessor box, please use > that as that would match what I'm using here. I only have an SMP box setup right now, Ill repeat those dumps on a UP box tomorrow. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com [-- Attachment #2: domU_grant_boot_smp.txt --] [-- Type: text/plain, Size: 3041 bytes --] Linux version 2.6.11-xenU-smp (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 SMP Fri Apr 15 15:53:04 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000008000000 (usable) 128MB LOWMEM available. DMI not present. IRQ lockup detection disabled Allocating PCI resources starting at 08000000 (gap: 08000000:f8000000) Built 1 zonelists Kernel command line: root=/dev/sda1 ro profile=2 kernel profiling enabled (shift: 2) Initializing CPU#0 PID hash table entries: 1024 (order: 10, 16384 bytes) Xen reported: 866.321 MHz processor. Using tsc for high-res timesource Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 125088k/131072k available (1642k kernel code, 5792k reserved, 441k data, 136k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled CPU0: Intel Pentium III (Coppermine) stepping 06 per-CPU timeslice cutoff: 731.68 usecs. task migration cache decay timeout: 1 msecs. Booting processor 1/1 eip c0100010 Initializing CPU#1 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU1: Intel Pentium III (Coppermine) stepping 06 Booting processor 2/2 eip c0100010 Initializing CPU#2 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU2: Intel Pentium III (Coppermine) stepping 06 Booting processor 3/3 eip c0100010 Initializing CPU#3 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU3: Intel Pentium III (Coppermine) stepping 06 Total of 4 processors activated (4371.23 BogoMIPS). Brought up 4 CPUs NET: Registered protocol family 16 xen_mem: Initialising balloon driver. Grant table initialized Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Xen virtual console successfully installed as tty1 Event-channel device installed. Blkif frontend is using grant tables. xen_blk: Initialising virtual block device driver xen_net: Initialising virtual ethernet driver. NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 8Kbytes TCP established hash table entries: 8192 (order: 5, 131072 bytes) TCP bind hash table entries: 8192 (order: 4, 98304 bytes) TCP: Hash tables configured (established 8192 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 136k freed Warning: unable to open an initial console. Kernel panic - not syncing: No init found. Try passing init= option to kernel. [-- Attachment #3: domU_grant_boot_up.txt --] [-- Type: text/plain, Size: 2394 bytes --] Linux version 2.6.11-xenU (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 Fri Apr 15 15:49:51 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000008000000 (usable) 128MB LOWMEM available. DMI not present. IRQ lockup detection disabled Allocating PCI resources starting at 08000000 (gap: 08000000:f8000000) Built 1 zonelists Kernel command line: root=/dev/sda1 ro profile=2 kernel profiling enabled (shift: 2) Initializing CPU#0 PID hash table entries: 1024 (order: 10, 16384 bytes) Xen reported: 866.321 MHz processor. Using tsc for high-res timesource Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 125376k/131072k available (1645k kernel code, 5504k reserved, 469k data, 108k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: Intel Pentium III (Coppermine) stepping 06 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled NET: Registered protocol family 16 xen_mem: Initialising balloon driver. Grant table initialized Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Xen virtual console successfully installed as tty1 Event-channel device installed. Blkif frontend is using grant tables. xen_blk: Initialising virtual block device driver xen_net: Initialising virtual ethernet driver. NET: Registered protocol family 2 IP: routing cache hash table of 1024 buckets, 8Kbytes TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 108k freed Warning: unable to open an initial console. Kernel panic - not syncing: No init found. Try passing init= option to kernel. [-- Attachment #4: xen_blk_grant_debug_smp.out --] [-- Type: text/plain, Size: 22041 bytes --] __ __ _____ ___ _ _ \ \/ /___ _ __ |___ / / _ \ __| | _____ _____| | \ // _ \ '_ \ |_ \| | | |__ / _` |/ _ \ \ / / _ \ | / \ __/ | | | ___) | |_| |__| (_| | __/\ V / __/ | /_/\_\___|_| |_| |____(_)___/ \__,_|\___| \_/ \___|_| http://www.cl.cam.ac.uk/netos/xen University of Cambridge Computer Laboratory Xen version 3.0-devel (rharper@localdomain) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) Fri Apr 15 15:35:13 CDT 2005 Latest ChangeSet: information unavailable (XEN) Physical RAM map: (XEN) 0000000000000000 - 000000000009dc00 (usable) (XEN) 000000000009dc00 - 00000000000a0000 (reserved) (XEN) 00000000000e0000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 0000000037fed140 (usable) (XEN) 0000000037fed140 - 0000000037ff0000 (ACPI data) (XEN) 0000000037ff0000 - 0000000038000000 (reserved) (XEN) 00000000fec00000 - 0000000100000000 (reserved) (XEN) System RAM: 895MB (917032kB) (XEN) Xen heap: 10MB (10740kB) (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) found SMP MP-table at 0009ddd0 (XEN) ACPI: RSDP (v000 IBM ) @ 0x000fdfd0 (XEN) ACPI: RSDT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff80 (XEN) ACPI: FADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff00 (XEN) ACPI: MADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37fefe80 (XEN) ACPI: DSDT (v001 IBM SERTOPAZ 0x00001000 MSFT 0x0100000b) @ 0x00000000 (XEN) ACPI: Local APIC address 0xfee00000 (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x03] enabled) (XEN) Processor #3 Pentium(tm) Pro APIC version 17 (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) (XEN) Processor #0 Pentium(tm) Pro APIC version 17 (XEN) Using ACPI for processor (LAPIC) configuration information (XEN) Intel MultiProcessor Specification v1.4 (XEN) Virtual Wire compatibility mode. (XEN) OEM ID: IBM ENSW Product ID: xSeries 220 APIC at: 0xFEE00000 (XEN) I/O APIC #14 Version 17 at 0xFEC00000. (XEN) I/O APIC #13 Version 17 at 0xFEC01000. (XEN) Enabling APIC mode: Flat. Using 2 I/O APICs (XEN) Processors: 2 (XEN) Using scheduler: Borrowed Virtual Time (bvt) (XEN) Initializing CPU#0 (XEN) Detected 866.321 MHz processor. (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU0 booted (XEN) enabled ExtINT on CPU#0 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) Booting processor 1/0 eip 90000 (XEN) Initializing CPU#1 (XEN) masked ExtINT on CPU#1 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) CPU1: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU1 has booted. (XEN) Total of 2 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) Setting 14 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 14 ... ok. (XEN) Setting 13 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 13 ... ok. (XEN) init IO_APIC IRQs (XEN) vector_irq[49] = 1 (XEN) vector_irq[51] = 3 (XEN) vector_irq[59] = 4 (XEN) vector_irq[61] = 6 (XEN) vector_irq[69] = 7 (XEN) vector_irq[71] = 8 (XEN) vector_irq[79] = 10 (XEN) vector_irq[81] = 12 (XEN) vector_irq[89] = 13 (XEN) vector_irq[91] = 14 (XEN) vector_irq[99] = 27 (XEN) vector_irq[a1] = 28 (XEN) ..TIMER: vector=0x41 pin1=2 pin2=-1 (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. (XEN) ...trying to set up timer as Virtual Wire IRQ... works. (XEN) number of MP IRQ sources: 13. (XEN) number of IO-APIC #14 registers: 16. (XEN) number of IO-APIC #13 registers: 16. (XEN) testing the IO APIC....................... (XEN) (XEN) IO APIC #14...... (XEN) .... register #00: 0E000000 (XEN) ....... : physical APIC id: 0E (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0E000000 (XEN) ....... : arbitration: 0E (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 003 03 0 0 0 0 0 1 1 49 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 003 03 0 0 0 0 0 1 1 51 (XEN) 04 003 03 0 0 0 0 0 1 1 59 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 003 03 0 0 0 0 0 1 1 61 (XEN) 07 003 03 0 0 0 0 0 1 1 69 (XEN) 08 003 03 0 0 0 0 0 1 1 71 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 003 03 1 1 0 1 0 1 1 79 (XEN) 0b 000 00 1 0 0 0 0 0 0 00 (XEN) 0c 003 03 0 0 0 0 0 1 1 81 (XEN) 0d 003 03 0 0 0 0 0 1 1 89 (XEN) 0e 003 03 0 0 0 0 0 1 1 91 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) (XEN) IO APIC #13...... (XEN) .... register #00: 0D000000 (XEN) ....... : physical APIC id: 0D (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0D000000 (XEN) ....... : arbitration: 0D (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 000 00 1 0 0 0 0 0 0 00 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 000 00 1 0 0 0 0 0 0 00 (XEN) 04 0D7 07 1 0 0 0 0 1 2 75 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 0F6 06 1 0 0 0 0 0 2 08 (XEN) 07 0D3 03 1 0 0 0 0 0 2 EB (XEN) 08 000 00 1 0 0 0 0 0 0 00 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 000 00 1 0 0 0 0 0 0 00 (XEN) 0b 003 03 1 1 0 1 0 1 1 99 (XEN) 0c 003 03 1 1 0 1 0 1 1 A1 (XEN) 0d 000 00 1 0 0 0 0 0 0 00 (XEN) 0e 000 00 1 0 0 0 0 0 0 00 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) IRQ to pin mappings: (XEN) IRQ0 -> 0:2 (XEN) IRQ1 -> 0:1 (XEN) IRQ3 -> 0:3 (XEN) IRQ4 -> 0:4 (XEN) IRQ6 -> 0:6 (XEN) IRQ7 -> 0:7 (XEN) IRQ8 -> 0:8 (XEN) IRQ10 -> 0:10 (XEN) IRQ12 -> 0:12 (XEN) IRQ13 -> 0:13 (XEN) IRQ14 -> 0:14 (XEN) IRQ27 -> 1:11 (XEN) IRQ28 -> 1:12 (XEN) .................................... done. (XEN) Using local APIC timer interrupts. (XEN) Calibrating APIC timer for CPU0... (XEN) ..... CPU speed is 866.2623 MHz. (XEN) ..... Bus speed is 133.2710 MHz. (XEN) ..... bus_scale = 0x0000887A (XEN) checking TSC synchronization across CPUs: passed. (XEN) Time init: (XEN) .... System Time: 12880752ns (XEN) .... cpu_freq: 00000000:33A3063C (XEN) .... scale: 00000001:27808C52 (XEN) .... Wall Clock: 1113598834s 550000us (XEN) PCI: PCI BIOS revision 2.10 entry at 0xfd5dc, last bus=1 (XEN) PCI: Using configuration type 1 (XEN) PCI: Probing PCI hardware (XEN) PCI: Probing PCI hardware (bus 00) (XEN) PCI: Discovered peer bus 01 (XEN) PCI->APIC IRQ transform: (B0,I2,P0) -> 27 (XEN) PCI->APIC IRQ transform: (B0,I15,P0) -> 10 (XEN) PCI->APIC IRQ transform: (B1,I3,P0) -> 28 (XEN) mtrr: v2.0 (20020519) (XEN) (file=grant_table.c, line=1229) Grant table init (XEN) *** LOADING DOMAIN 0 *** (XEN) Xen-ELF header found: 'GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xC0000000,LOADER=generic' (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 10000000->20000000 (65536 pages to be allocated) (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: c0100000->c054c4a4 (XEN) Init. ramdisk: c054d000->c054d000 (XEN) Phys-Mach map: c054d000->c05cd000 (XEN) Page tables: c05cd000->c05d0000 (XEN) Start info: c05d0000->c05d1000 (XEN) Boot stack: c05d1000->c05d2000 (XEN) TOTAL: c0000000->c0800000 (XEN) ENTRY ADDRESS: c0100000 (XEN) Scrubbing Free RAM: .........done. (XEN) *** Serial input -> DOM0 (type 'CTRL-x' three times to switch input to Xen). Linux version 2.6.11-xen0-smp (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 SMP Fri Apr 15 15:51:54 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000020000000 (usable) 512MB LOWMEM available. DMI 2.3 present. IRQ lockup detection disabled Allocating PCI resources starting at 20000000 (gap: 20000000:e0000000) Built 1 zonelists Kernel command line: root=/dev/sda2 ro console=tty0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 65536 bytes) Xen reported: 866.321 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 513408k/524288k available (2828k kernel code, 10688k reserved, 976k data, 348k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled CPU0: Intel Pentium III (Coppermine) stepping 06 per-CPU timeslice cutoff: 731.68 usecs. task migration cache decay timeout: 1 msecs. Booting processor 1/1 eip c0100010 Initializing CPU#1 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU1: Intel Pentium III (Coppermine) stepping 06 Total of 2 processors activated (3460.30 BogoMIPS). Brought up 2 CPUs NET: Registered protocol family 16 PCI: Using configuration type Xen xen_mem: Initialising balloon driver. SCSI subsystem initialized PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Probing PCI hardware (bus 01) PCI: Probing PCI hardware Grant table initialized IA-32 Microcode Update Driver: v1.14-xen <tigran@veritas.com> Initializing Cryptographic API serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a National Semiconductor PC87306 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: loaded (max 8 devices) HP CISS Driver (v 2.6.4) Intel(R) PRO/1000 Network Driver - version 5.6.10.1-k2 Copyright (c) 1999-2004 Intel Corporation. pcnet32.c:v1.30i 06.28.2004 tsbogend@alpha.franken.de e100: Intel(R) PRO/100 Network Driver, 3.3.6-k2-NAPI e100: Copyright(c) 1999-2004 Intel Corporation PCI: Obtained IRQ 27 for device 0000:00:02.0 e100: eth0: e100_probe: addr 0xfeb7f000, irq 27, MAC addr 00:02:55:C8:07:57 Xen virtual console successfully installed as ttyS0 Event-channel device installed. Blkif backend is using grant tables. Initialising Xen netif backend Blkif frontend is using grant tables. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SvrWks OSB4: IDE controller at PCI slot 0000:00:0f.1 SvrWks OSB4: chipset revision 0 SvrWks OSB4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x0700-0x0707, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0x0708-0x070f, BIOS settings: hdc:pio, hdd:pio hda: LTN485S, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: ATAPI 48X CD-ROM drive, 120kB Cache, (U)DMA Uniform CD-ROM driver Revision: 3.20 PCI: Obtained IRQ 28 for device 0000:01:03.0 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7892 Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs (scsi0:A:6): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) Vendor: IBM-PSG Model: DDYS-T36950N M Rev: S9HA Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:6:0: Tagged Queuing enabled. Depth 32 Red Hat/Adaptec aacraid driver (1.1.2-lk2 Apr 15 2005) 3ware Storage Controller device driver for Linux v1.26.02.000. SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 6, lun 0 mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid5 personality registered as nr 4 raid5: automatically using best checksumming function: pIII_sse pIII_sse : 1004.800 MB/sec raid5: using function: pIII_sse (1004.800 MB/sec) md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com NET: Registered protocol family 2 IP: routing cache hash table of 2048 buckets, 32Kbytes TCP established hash table entries: 131072 (order: 9, 2097152 bytes) TCP bind hash table entries: 65536 (order: 7, 786432 bytes) TCP: Hash tables configured (established 131072 bind 65536) NET: Registered protocol family 1 NET: Registered protocol family 17 Bridge firewalling registered md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 348k freed Adding 1951856k swap on /dev/sda1. Priority:-1 extents:1 EXT3 FS on sda2, internal journal Linux agpgart interface v0.100 (c) Dave Jones agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.0 failed with error -22 agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.1 failed with error -22 e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex device eth0 entered promiscuous mode xen-br0: port 1(eth0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 1(eth0) entering forwarding state device vif1.0 entered promiscuous mode xen-br0: port 2(vif1.0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 2(vif1.0) entering forwarding state (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (2) sstotpop__thtihs_icpsu_c pdiusa bldeis_albloe_clalo_caAlPI_CAPIC stsompp__tshenisd__cpsu tdopi dsiabslea_blleoc_all_ocAaPIlC_API C [-- Attachment #5: xen_blk_grant_debug_up.out --] [-- Type: text/plain, Size: 33187 bytes --] xen-br0: port 1(eth0) entering disabled state xen-br0: port 2(vif1.0) entering disabled state md: stopping all md devices. md: md0 switched to read-only mode. Restarting system. (XEN) Domain 0 shutdown: rebooting machine. __ __ _____ ___ _ _ \ \/ /___ _ __ |___ / / _ \ __| | _____ _____| | \ // _ \ '_ \ |_ \| | | |__ / _` |/ _ \ \ / / _ \ | / \ __/ | | | ___) | |_| |__| (_| | __/\ V / __/ | /_/\_\___|_| |_| |____(_)___/ \__,_|\___| \_/ \___|_| http://www.cl.cam.ac.uk/netos/xen University of Cambridge Computer Laboratory Xen version 3.0-devel (rharper@localdomain) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) Fri Apr 15 15:35:13 CDT 2005 Latest ChangeSet: information unavailable (XEN) Physical RAM map: (XEN) 0000000000000000 - 000000000009dc00 (usable) (XEN) 000000000009dc00 - 00000000000a0000 (reserved) (XEN) 00000000000e0000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 0000000037fed140 (usable) (XEN) 0000000037fed140 - 0000000037ff0000 (ACPI data) (XEN) 0000000037ff0000 - 0000000038000000 (reserved) (XEN) 00000000fec00000 - 0000000100000000 (reserved) (XEN) System RAM: 895MB (917032kB) (XEN) Xen heap: 10MB (10740kB) (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) found SMP MP-table at 0009ddd0 (XEN) ACPI: RSDP (v000 IBM ) @ 0x000fdfd0 (XEN) ACPI: RSDT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff80 (XEN) ACPI: FADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37feff00 (XEN) ACPI: MADT (v001 IBM SERTOPAZ 0x00001000 IBM 0x45444f43) @ 0x37fefe80 (XEN) ACPI: DSDT (v001 IBM SERTOPAZ 0x00001000 MSFT 0x0100000b) @ 0x00000000 (XEN) ACPI: Local APIC address 0xfee00000 (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x03] enabled) (XEN) Processor #3 Pentium(tm) Pro APIC version 17 (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) (XEN) Processor #0 Pentium(tm) Pro APIC version 17 (XEN) Using ACPI for processor (LAPIC) configuration information (XEN) Intel MultiProcessor Specification v1.4 (XEN) Virtual Wire compatibility mode. (XEN) OEM ID: IBM ENSW Product ID: xSeries 220 APIC at: 0xFEE00000 (XEN) I/O APIC #14 Version 17 at 0xFEC00000. (XEN) I/O APIC #13 Version 17 at 0xFEC01000. (XEN) Enabling APIC mode: Flat. Using 2 I/O APICs (XEN) Processors: 2 (XEN) Using scheduler: Borrowed Virtual Time (bvt) (XEN) Initializing CPU#0 (XEN) Detected 866.321 MHz processor. (XEN) CPU0: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU0 booted (XEN) enabled ExtINT on CPU#0 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) Booting processor 1/0 eip 90000 (XEN) Initializing CPU#1 (XEN) masked ExtINT on CPU#1 (XEN) ESR value before enabling vector: 00000000 (XEN) ESR value after enabling vector: 00000000 (XEN) CPU1: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 (XEN) CPU caps: 0383fbff 00000000 00000000 00000000 (XEN) CPU1 has booted. (XEN) Total of 2 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) Setting 14 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 14 ... ok. (XEN) Setting 13 in the phys_id_present_map (XEN) ...changing IO-APIC physical APIC ID to 13 ... ok. (XEN) init IO_APIC IRQs (XEN) vector_irq[49] = 1 (XEN) vector_irq[51] = 3 (XEN) vector_irq[59] = 4 (XEN) vector_irq[61] = 6 (XEN) vector_irq[69] = 7 (XEN) vector_irq[71] = 8 (XEN) vector_irq[79] = 10 (XEN) vector_irq[81] = 12 (XEN) vector_irq[89] = 13 (XEN) vector_irq[91] = 14 (XEN) vector_irq[99] = 27 (XEN) vector_irq[a1] = 28 (XEN) ..TIMER: vector=0x41 pin1=2 pin2=-1 (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. (XEN) ...trying to set up timer as Virtual Wire IRQ... works. (XEN) number of MP IRQ sources: 13. (XEN) number of IO-APIC #14 registers: 16. (XEN) number of IO-APIC #13 registers: 16. (XEN) testing the IO APIC....................... (XEN) (XEN) IO APIC #14...... (XEN) .... register #00: 0E000000 (XEN) ....... : physical APIC id: 0E (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0E000000 (XEN) ....... : arbitration: 0E (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 003 03 0 0 0 0 0 1 1 49 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 003 03 0 0 0 0 0 1 1 51 (XEN) 04 003 03 0 0 0 0 0 1 1 59 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 003 03 0 0 0 0 0 1 1 61 (XEN) 07 003 03 0 0 0 0 0 1 1 69 (XEN) 08 003 03 0 0 0 0 0 1 1 71 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 003 03 1 1 0 1 0 1 1 79 (XEN) 0b 000 00 1 0 0 0 0 0 0 00 (XEN) 0c 003 03 0 0 0 0 0 1 1 81 (XEN) 0d 003 03 0 0 0 0 0 1 1 89 (XEN) 0e 003 03 0 0 0 0 0 1 1 91 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) (XEN) IO APIC #13...... (XEN) .... register #00: 0D000000 (XEN) ....... : physical APIC id: 0D (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 000F0011 (XEN) ....... : max redirection entries: 000F (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0011 (XEN) .... register #02: 0D000000 (XEN) ....... : arbitration: 0D (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 000 00 1 0 0 0 0 0 0 00 (XEN) 02 000 00 1 0 0 0 0 0 0 00 (XEN) 03 000 00 1 0 0 0 0 0 0 00 (XEN) 04 0D7 07 1 0 0 0 0 1 2 75 (XEN) 05 000 00 1 0 0 0 0 0 0 00 (XEN) 06 0F6 06 1 0 0 0 0 0 2 08 (XEN) 07 0D3 03 1 0 0 0 0 0 2 EB (XEN) 08 000 00 1 0 0 0 0 0 0 00 (XEN) 09 000 00 1 0 0 0 0 0 0 00 (XEN) 0a 000 00 1 0 0 0 0 0 0 00 (XEN) 0b 003 03 1 1 0 1 0 1 1 99 (XEN) 0c 003 03 1 1 0 1 0 1 1 A1 (XEN) 0d 000 00 1 0 0 0 0 0 0 00 (XEN) 0e 000 00 1 0 0 0 0 0 0 00 (XEN) 0f 000 00 1 0 0 0 0 0 0 00 (XEN) IRQ to pin mappings: (XEN) IRQ0 -> 0:2 (XEN) IRQ1 -> 0:1 (XEN) IRQ3 -> 0:3 (XEN) IRQ4 -> 0:4 (XEN) IRQ6 -> 0:6 (XEN) IRQ7 -> 0:7 (XEN) IRQ8 -> 0:8 (XEN) IRQ10 -> 0:10 (XEN) IRQ12 -> 0:12 (XEN) IRQ13 -> 0:13 (XEN) IRQ14 -> 0:14 (XEN) IRQ27 -> 1:11 (XEN) IRQ28 -> 1:12 (XEN) .................................... done. (XEN) Using local APIC timer interrupts. (XEN) Calibrating APIC timer for CPU0... (XEN) ..... CPU speed is 866.2623 MHz. (XEN) ..... Bus speed is 133.2710 MHz. (XEN) ..... bus_scale = 0x0000887A (XEN) checking TSC synchronization across CPUs: passed. (XEN) Time init: (XEN) .... System Time: 12905992ns (XEN) .... cpu_freq: 00000000:33A3063C (XEN) .... scale: 00000001:27808C52 (XEN) .... Wall Clock: 1113599208s 550000us (XEN) PCI: PCI BIOS revision 2.10 entry at 0xfd5dc, last bus=1 (XEN) PCI: Using configuration type 1 (XEN) PCI: Probing PCI hardware (XEN) PCI: Probing PCI hardware (bus 00) (XEN) PCI: Discovered peer bus 01 (XEN) PCI->APIC IRQ transform: (B0,I2,P0) -> 27 (XEN) PCI->APIC IRQ transform: (B0,I15,P0) -> 10 (XEN) PCI->APIC IRQ transform: (B1,I3,P0) -> 28 (XEN) mtrr: v2.0 (20020519) (XEN) (file=grant_table.c, line=1229) Grant table init (XEN) *** LOADING DOMAIN 0 *** (XEN) Xen-ELF header found: 'GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xC0000000,LOADER=generic' (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 10000000->20000000 (65536 pages to be allocated) (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: c0100000->c05674c4 (XEN) Init. ramdisk: c0568000->c0568000 (XEN) Phys-Mach map: c0568000->c05e8000 (XEN) Page tables: c05e8000->c05eb000 (XEN) Start info: c05eb000->c05ec000 (XEN) Boot stack: c05ec000->c05ed000 (XEN) TOTAL: c0000000->c0800000 (XEN) ENTRY ADDRESS: c0100000 (XEN) Scrubbing Free RAM: .........done. (XEN) *** Serial input -> DOM0 (type 'CTRL-x' three times to switch input to Xen). Linux version 2.6.11-xen0 (rharper@frylock) (gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)) #1 Fri Apr 15 15:47:11 CDT 2005 BIOS-provided physical RAM map: Xen: 0000000000000000 - 0000000020000000 (usable) 512MB LOWMEM available. DMI 2.3 present. IRQ lockup detection disabled Allocating PCI resources starting at 20000000 (gap: 20000000:e0000000) Built 1 zonelists Kernel command line: root=/dev/sda2 ro console=tty0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 65536 bytes) Xen reported: 866.321 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 513536k/524288k available (2932k kernel code, 10504k reserved, 1018k data, 320k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: Intel Pentium III (Coppermine) stepping 06 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... disabled NET: Registered protocol family 16 PCI: Using configuration type Xen xen_mem: Initialising balloon driver. SCSI subsystem initialized PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Probing PCI hardware (bus 01) PCI: Probing PCI hardware Grant table initialized IA-32 Microcode Update Driver: v1.14-xen <tigran@veritas.com> Initializing Cryptographic API serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a National Semiconductor PC87306 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: loaded (max 8 devices) HP CISS Driver (v 2.6.4) Intel(R) PRO/1000 Network Driver - version 5.6.10.1-k2 Copyright (c) 1999-2004 Intel Corporation. pcnet32.c:v1.30i 06.28.2004 tsbogend@alpha.franken.de e100: Intel(R) PRO/100 Network Driver, 3.3.6-k2-NAPI e100: Copyright(c) 1999-2004 Intel Corporation PCI: Obtained IRQ 27 for device 0000:00:02.0 e100: eth0: e100_probe: addr 0xfeb7f000, irq 27, MAC addr 00:02:55:C8:07:57 Xen virtual console successfully installed as ttyS0 Event-channel device installed. Blkif backend is using grant tables. Initialising Xen netif backend Blkif frontend is using grant tables. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SvrWks OSB4: IDE controller at PCI slot 0000:00:0f.1 SvrWks OSB4: chipset revision 0 SvrWks OSB4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x0700-0x0707, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0x0708-0x070f, BIOS settings: hdc:pio, hdd:pio hda: LTN485S, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: ATAPI 48X CD-ROM drive, 120kB Cache, (U)DMA Uniform CD-ROM driver Revision: 3.20 PCI: Obtained IRQ 28 for device 0000:01:03.0 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7892 Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs (scsi0:A:6): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) Vendor: IBM-PSG Model: DDYS-T36950N M Rev: S9HA Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:6:0: Tagged Queuing enabled. Depth 32 Red Hat/Adaptec aacraid driver (1.1.2-lk2 Apr 15 2005) 3ware Storage Controller device driver for Linux v1.26.02.000. SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through SCSI device sda: 71096640 512-byte hdwr sectors (36401 MB) SCSI device sda: drive cache: write through sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 6, lun 0 Fusion MPT base driver 3.01.18 Copyright (c) 1999-2004 LSI Logic Corporation Fusion MPT SCSI Host driver 3.01.18 mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid5 personality registered as nr 4 raid5: automatically using best checksumming function: pIII_sse pIII_sse : 1444.800 MB/sec raid5: using function: pIII_sse (1444.800 MB/sec) md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com NET: Registered protocol family 2 IP: routing cache hash table of 4096 buckets, 32Kbytes TCP established hash table entries: 131072 (order: 8, 1048576 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes) TCP: Hash tables configured (established 131072 bind 65536) NET: Registered protocol family 1 NET: Registered protocol family 17 Bridge firewalling registered md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. EXT3-fs: INFO: recovery required on readonly filesystem. EXT3-fs: write access will be enabled during recovery. EXT3-fs: recovery complete. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 320k freed Adding 1951856k swap on /dev/sda1. Priority:-1 extents:1 EXT3 FS on sda2, internal journal Linux agpgart interface v0.100 (c) Dave Jones agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.0 failed with error -22 agpgart: Maximum main memory to use for agp memory: 440M agpgart: unable to determine aperture size. agpgart: agp_backend_initialize() failed. agpgart-serverworks: probe of 0000:00:00.1 failed with error -22 e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex device eth0 entered promiscuous mode xen-br0: port 1(eth0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 1(eth0) entering forwarding state device vif1.0 entered promiscuous mode xen-br0: port 2(vif1.0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 2(vif1.0) entering forwarding state (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (1) with handle (0) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (1) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (1) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (1) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (1) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (1) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (1) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (1) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (1) with handle (3) ssttoop_pth_ithsis__ccppu ud diissaablbele_l_olcaolca_l_AAPPIICC stsompp_s_ethnid_sst_opc pud diisasblea_lboclae_ll_AoPcaIl_CAPI C device vif1.0 left promiscuous mode xen-br0: port 2(vif1.0) entering disabled state xen-br0: port 2(vif1.0) entering disabled state device vif2.0 entered promiscuous mode xen-br0: port 2(vif2.0) entering learning state xen-br0: topology change detected, propagating xen-br0: port 2(vif2.0) entering forwarding state (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=393) Mapping grant ref (1) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (1) for domain (2) with handle (3) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (2) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (2) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (2) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (2) with handle (4) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (2) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (2) with handle (5) (XEN) (file=grant_table.c, line=393) Mapping grant ref (3) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (3) for domain (2) with handle (5) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (0) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (2) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (2) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (2) with handle (7) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (2) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=393) Mapping grant ref (5) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (4) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (5) for domain (2) with handle (6) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (4) for domain (2) with handle (7) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (2) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (7) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (0) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (6) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=393) Mapping grant ref (2) for domain (2) with flags (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (7) for domain (2) with handle (2) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (0) for domain (2) with handle (1) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (6) for domain (2) with handle (4) (XEN) (file=grant_table.c, line=504) Unmapping grant ref (2) for domain (2) with handle (7) [-- Attachment #6: Type: text/plain, Size: 138 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 21:14 ` Ryan Harper @ 2005-04-15 21:32 ` Kip Macy 2005-04-15 21:41 ` Ryan Harper 2005-04-15 21:52 ` Ryan Harper 0 siblings, 2 replies; 40+ messages in thread From: Kip Macy @ 2005-04-15 21:32 UTC (permalink / raw) To: Ryan Harper; +Cc: cwc22, xen-devel pass nosmp to xen at boot and you have UP On 4/15/05, Ryan Harper <ryanh@us.ibm.com> wrote: > * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-15 13:44]: > > Hi Ryan > > > > OK, I've got a system I can work on now. > > Could you please modify the GRANT_DEBUG and GRANT_DEBUG_VERBOSE to be > > set to 1, at the top of xen/common/grant_table.c and then make a debug > > build of xen. > > > > The verbose option will slow any successful boot down to a crawl, so > > you don't want to leave it on unnecessarily once things are working. > > > > I'd like to see: > > all the boot messages from xen and dom0 > > the same from your attempt to boot domU > > Attached, both smp and non-smp. > > > If you have to option to test it on a uniprocessor box, please use > > that as that would match what I'm using here. > > I only have an SMP box setup right now, Ill repeat those dumps on a UP > box tomorrow. > > -- > Ryan Harper > Software Engineer; Linux Technology Center > IBM Corp., Austin, Tx > (512) 838-9253 T/L: 678-9253 > ryanh@us.ibm.com > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > > > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 21:32 ` Kip Macy @ 2005-04-15 21:41 ` Ryan Harper 2005-04-15 21:46 ` Kip Macy 2005-04-15 21:52 ` Ryan Harper 1 sibling, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-15 21:41 UTC (permalink / raw) To: Kip Macy; +Cc: cwc22, xen-devel * Kip Macy <kip.macy@gmail.com> [2005-04-15 16:32]: > pass nosmp to xen at boot and you have UP Indeed. Of course, now the machine won't reboot with that option passed. *sigh* -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 21:41 ` Ryan Harper @ 2005-04-15 21:46 ` Kip Macy 2005-04-15 21:50 ` Ryan Harper 0 siblings, 1 reply; 40+ messages in thread From: Kip Macy @ 2005-04-15 21:46 UTC (permalink / raw) To: Ryan Harper; +Cc: xen-devel Ouch. I just used it this morning for a tree from last night, so I didn't anticipate any problems. -Kip On 4/15/05, Ryan Harper <ryanh@us.ibm.com> wrote: > * Kip Macy <kip.macy@gmail.com> [2005-04-15 16:32]: > > pass nosmp to xen at boot and you have UP > > Indeed. Of course, now the machine won't reboot with that option > passed. *sigh* > > -- > Ryan Harper > Software Engineer; Linux Technology Center > IBM Corp., Austin, Tx > (512) 838-9253 T/L: 678-9253 > ryanh@us.ibm.com > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 21:46 ` Kip Macy @ 2005-04-15 21:50 ` Ryan Harper 0 siblings, 0 replies; 40+ messages in thread From: Ryan Harper @ 2005-04-15 21:50 UTC (permalink / raw) To: Kip Macy; +Cc: xen-devel * Kip Macy <kip.macy@gmail.com> [2005-04-15 16:44]: > Ouch. I just used it this morning for a tree from last night, so I > didn't anticipate any problems. Yeah, more than likely it's something 'unique' about my aging hardware. Thanks for the info, none-the-less. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 21:32 ` Kip Macy 2005-04-15 21:41 ` Ryan Harper @ 2005-04-15 21:52 ` Ryan Harper 2005-04-15 22:07 ` Christopher Clark 1 sibling, 1 reply; 40+ messages in thread From: Ryan Harper @ 2005-04-15 21:52 UTC (permalink / raw) To: Kip Macy; +Cc: cwc22, xen-devel * Kip Macy <kip.macy@gmail.com> [2005-04-15 16:32]: > pass nosmp to xen at boot and you have UP The behavior is the same as I posted before. I will also try on a real UP box tomorrow as well. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 21:52 ` Ryan Harper @ 2005-04-15 22:07 ` Christopher Clark 2005-04-15 22:08 ` Ryan Harper 0 siblings, 1 reply; 40+ messages in thread From: Christopher Clark @ 2005-04-15 22:07 UTC (permalink / raw) To: Ryan Harper; +Cc: xen-devel Could you try without the block front end driver in dom0? Is there a reason you need it in there? c. On 4/15/05, Ryan Harper <ryanh@us.ibm.com> wrote: > * Kip Macy <kip.macy@gmail.com> [2005-04-15 16:32]: > > pass nosmp to xen at boot and you have UP > > The behavior is the same as I posted before. I will also try on a real > UP box tomorrow as well. > > -- > Ryan Harper > Software Engineer; Linux Technology Center > IBM Corp., Austin, Tx > (512) 838-9253 T/L: 678-9253 > ryanh@us.ibm.com > ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: Unstableness in grant table block drivers 2005-04-15 22:07 ` Christopher Clark @ 2005-04-15 22:08 ` Ryan Harper 0 siblings, 0 replies; 40+ messages in thread From: Ryan Harper @ 2005-04-15 22:08 UTC (permalink / raw) To: cwc22; +Cc: xen-devel * Christopher Clark <christopher.w.clark@gmail.com> [2005-04-15 17:05]: > Could you try without the block front end driver in dom0? Is there a > reason you need it in there? I don't understand much about the front/back end driver stuff. I just take the default xenolinux configs and go with them. Do you have a .config for dom0/domU that you want me to use? Or at least what CONFIG_ options should be on/off for the dump? -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com ^ permalink raw reply [flat|nested] 40+ messages in thread
end of thread, other threads:[~2005-05-12 1:50 UTC | newest]
Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-15 22:30 Unstableness in grant table block drivers Ian Pratt
2005-04-16 1:18 ` Christopher Clark
2005-04-16 1:32 ` Christopher Clark
2005-04-16 3:03 ` David Hopwood
-- strict thread matches above, loose matches on Subject: below --
2005-04-16 1:32 Ian Pratt
2005-04-16 15:39 ` Ryan Harper
2005-04-18 16:38 ` Christopher Clark
2005-04-18 16:45 ` Ryan Harper
2005-04-18 20:51 ` Ryan Harper
2005-04-20 18:52 ` Christopher Clark
2005-04-20 19:37 ` Ryan Harper
2005-04-22 18:57 ` Ryan Harper
2005-04-22 19:06 ` Anthony Liguori
2005-05-12 1:50 ` Xiaofeng Ling
2005-04-14 10:24 Ian Pratt
2005-04-14 10:34 ` Ge van Geldorp
[not found] <E1DLu58-0005lx-KR@host-192-168-0-1-bcn-london>
2005-04-14 10:17 ` Ge van Geldorp
[not found] <aliguori@us.ibm.com>
2005-04-14 1:18 ` Anthony Liguori
2005-04-14 1:20 ` Steven Hand
2005-04-14 1:46 ` Anthony Liguori
2005-04-14 1:53 ` Kip Macy
2005-04-14 2:27 ` Anthony Liguori
2005-04-14 2:55 ` Kip Macy
2005-04-14 1:16 Ian Pratt
2005-04-14 1:43 ` Anthony Liguori
2005-04-14 2:04 ` Christopher Clark
2005-04-14 2:17 ` Kip Macy
2005-04-14 2:25 ` Anthony Liguori
2005-04-14 15:00 ` Ryan Harper
2005-04-14 16:34 ` Christopher Clark
2005-04-14 17:28 ` Ryan Harper
2005-04-15 18:45 ` Christopher Clark
2005-04-15 21:14 ` Ryan Harper
2005-04-15 21:32 ` Kip Macy
2005-04-15 21:41 ` Ryan Harper
2005-04-15 21:46 ` Kip Macy
2005-04-15 21:50 ` Ryan Harper
2005-04-15 21:52 ` Ryan Harper
2005-04-15 22:07 ` Christopher Clark
2005-04-15 22:08 ` Ryan Harper
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.