[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] kernel BUG at arch/x86/xen/mmu.c:1860!



On Wed, Dec 29, 2010 at 12:58:15PM +0800, Teck Choon Giam wrote:
> Below is my latest test crash script:

This test script is still valid? Or do you have a more updated one?
> 
> ----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------
> #!/bin/sh
> #
> # This script is to create lvm snapshot, mount it, umount it and remove in a
> # specified number of loops to test whether it will crash the host server.
> # All LVM snapshots assumed can be mounted like if you are running a PV
> domU.
> #
> # Created by Giam Teck Choon
> #
> 
> # The LV name and for this case we are using XenGroup
> LVGroupName=XenGroup
> 
> # return 1 if is mounted otherwise return 0
> check_mount() {
>     local checkdir=${1}
>     if [ -n "$checkdir" ] ; then
>         local check=`grep "$checkdir" /proc/mounts`
>         if [ -n "$check" ] ; then
>             return 1
>         fi
>     fi
>     return 0
> }
> 
> do_lvm_create_remove() {
>     # number of loops default is 1
>     local loopcountlimit=${1:-1}
>     # snapshot size default is 1G
>     local snapshotsize=${2:-1G}
>     # implement a sleep between create, mount, umount and remove (default is
> 0 which is no pause)
>     local pauseinterval=${3:-0}
>     # execute commands after each pause/sleep such as sync or anything that
> you want to test
>     local commands=${4}
>     # We filter out snapshot and swap
>     local count=0
>     if [ -d "/dev/${LVGroupName}" ] ; then
>         while [ "$count" -lt "$loopcountlimit" ]
>         do
>             count=`expr $count + 1`
>             echo "${count} ... ... "
>             for i in `ls /dev/${LVGroupName} | grep -Ev 'snapshot$' | grep
> -Ev 'swap$'`; do
>                 if [ -h "/dev/${LVGroupName}/${i}" ] ; then
>                     echo -n "lvcreate -s -v -n ${i}-snapshot -L
> ${snapshotsize} /dev/${LVGroupName}/${i} ... ... "
>                     lvcreate -s -v -n ${i}-snapshot -L ${snapshotsize}
> /dev/${LVGroupName}/${i}
>                     echo "done."
>                     sleep ${pauseinterval}
>                     if [ -n "$commands" ] ; then
>                         echo -n "${commands} ... ... "
>                         $commands
>                         echo "done."
>                     fi
>                     mkdir -p /mnt/testlvm/${i}
>                     if [ -h "/dev/${LVGroupName}/${i}-snapshot" ] ; then
>                         check_mount /mnt/testlvm/${i}
>                         local ismount=$?
>                         if [ "$ismount" -eq 0 ] ; then
>                             echo -n "mount /dev/${LVGroupName}/${i}-snapshot
> /mnt/testlvm/${i} ... ... "
>                             mount /dev/${LVGroupName}/${i}-snapshot
> /mnt/testlvm/${i}
>                             echo "done."
>                             sleep ${pauseinterval}
>                             if [ -n "$commands" ] ; then
>                                 echo -n "${commands} ... ... "
>                                 $commands
>                                 echo "done."
>                             fi
>                         fi
>                         check_mount /mnt/testlvm/${i}
>                         local ismount2=$?
>                         if [ "$ismount2" -eq 1 ] ; then
>                             echo -n "umount /mnt/testlvm/${i} ... ... "
>                             umount /mnt/testlvm/${i}
>                             echo "done."
>                             sleep ${pauseinterval}
>                             if [ -n "$commands" ] ; then
>                                 echo -n "${commands} ... ... "
>                                 $commands
>                                 echo "done."
>                             fi
>                         fi
>                     fi
>                     rm -rf /mnt/testlvm/${i}
>                     echo -n "lvremove -f /dev/${LVGroupName}/${i}-snapshot
> ... ... "
>                     lvremove -f /dev/${LVGroupName}/${i}-snapshot
>                     echo "done."
>                     sleep ${pauseinterval}
>                     if [ -n "$commands" ] ; then
>                         echo -n "${commands} ... ... "
>                         $commands
>                         echo "done."
>                     fi
>                 fi
>             done
>             rm -fr /mnt/testlvm
>         done
>     else
>         echo "/dev/${LVGroupName} directory not found!"
>         exit 1
>     fi
> }
> 
> case $1 in
>     loop)    shift
>         do_lvm_create_remove "$@"
>         ;;
>     *)    cat <<HELP
> Usage: $0 loop loopcountlimit snapshotsize pauseinterval commands
> Where:
>     loopcountlimit is default to 1
>     snapshotsize is default to 1G
>     pauseinterval is default to 0
>     commands is default to none
> 
> Example to run with 100 loops without pause/sleep:
>     $0 loop 100
> 
> Example to run with 100 loops with pause/sleep of 5 seconds:
>     $0 loop 100 1G 5
> 
> Example to run with 100 loops with snapshot size of 2G instead of 1G:
>     $0 loop 100 2G
> 
> Example to run with 50 loops, 1G snapshot size, 5 seconds pause and with
> sync:
> command with each pause/sleep
>     $0 loop 50 1G 5 sync
> 
> Example to run with 50 loops, 1G snapshot size, no pause and with sync:
> command with each pause/sleep
>     $0 loop 50 1G 0 sync
> 
> Example to run your own commands:
>     $0 loop 100 1G 5 "echo hi && sync"
> 
> HELP
>         ;;
> esac
> ----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------8<----------
> 
> Thanks.
> 
> Kindest regards,
> Giam Teck Choon

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


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.