Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] fix free of event channel in blkfront

To: "Steven Hand" <Steven.Hand@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] fix free of event channel in blkfront
From: "Kasai Takanori" <kasai.takanori@xxxxxxxxxxxxxx>
Date: Tue, 9 Jan 2007 15:18:49 +0900
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 08 Jan 2007 22:18:40 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <E1H0LwV-0005UQ-00@xxxxxxxxxxxxxxxxx> <023701c73385$dbfd0e50$dab2220a@VF03007L>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Steven,

We tested the xm block-attach/detach command.
It repeats block-attach/detach command for DomU and pv-on-hvm on HVM Domain.
(block-attach -> block-detach -> block-attach -> block-detach -> ...)

The block-attach command failed when repeating 256 times.

I can't reproduce this - just tested 500 or so attach/detach pairs in
a tight loop and worked for me. However I was using a regular domU -
is it pv-on-hvm only? Can you give a more detailed repro case (or a
script)?

We tested only pv-on-hvm.
The script used when testing is appended.

Sorry, the appended script was for network.
It tested in the following scripts.

-------------------------------------------------
#!/bin/sh
DomainID=25
DevID=8448
Count=0

while :
do
echo "##### block-attach ##### $Count"
xm block-attach $DomainID phy:/dev/sdc1 hde w
sleep 1
xm block-list $DomainID
sleep 1
echo "##### block-detach #####"
xm block-detach $DomainID $DevID
Count=`expr $Count + 1`
#DevID=`expr $DevID + 1`
sleep 1
xm block-list $DomainID
sleep 1
done
exit 0
-------------------------------------------------


We will confirm it again with latest xen-unstable.hg.

I confirmed it with up-to-date xen-unstable.hg. (cs 13282)

It did not reproduce it in DomU.
Because VBD was not able to be used, pv-on-hvm was not able to confirm it.
The following errors occur.

# insmod xen-vbd.ko
xen-vbd: Unknown symbol irq_to_evtchn_port
insmod: error inserting 'xen-vbd.ko': -1 Unknown symbol in module


When reproducing it with pv-on-hvm, evtchn had not been liberated as follows.

# xm block-attach <DomID> file:/test.img hde w
# xm block-list <DomID>
Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8    /local/domain/0/backend/vbd/6/2049
8448    0    0     4      7      306  /local/domain/0/backend/vbd/6/8448
# xm block-detach <DomID> 8448
# xm block-list <DomID>
Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8    /local/domain/0/backend/vbd/6/2049
# xm block-attach <DomID> file:/test.img hde w
# xm block-list <DomID>
Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8    /local/domain/0/backend/vbd/6/2049
8448    0    0     4      8      306  /local/domain/0/backend/vbd/6/8448
                        ^^^<= not 7

If the evtchn number is liberated, it is sure to become the same number.
The evtchn number keeps increase if it repeats.
I will confirm whether to be liberated as follows and correctly.

・xen-unstable.hg : cs 13192
Revert cset 13181:f087c013cf12 since the event channel is already unbound via
       blkif_free() -> unbind_from_irqhandler() -> unbind_from_irq()


Thanks,

--
Takanori Kasai


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel