|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] fix free of event channel in blkfront
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
|
|
|
|
|