[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: Issues while running Xen with new RR scheduler
Also, comb through your code and make sure you understand what is *supposed* to be returned and what *is* returned by all of your functions. Comparing your code with other scheduler code may be helpful. -George On Fri, May 1, 2009 at 11:25 AM, George Dunlap <George.Dunlap@xxxxxxxxxxxxx> wrote: > What's your Linux setup? If it has any kind of splash screen on boot > (like say, Ubuntu), you probably want to turn that off. How that's > done depends on the particular distribution. > > Can you see a cursor at all? You might try, from your keyboard, > pressing "Ctrl-A" three times. If Xen isn't totally trashed, this > will cause Xen to take control of the keyboard, and you can pass it > several debug-key commands. Pressing 'h' will give you a list; 'd' > (IIRC) will give you a dump of the state of the cpus. Using that you > can figure out what Xen is doing. > > As for the serial port: I googled for "serial console", and found this > page that has a lot of useful information: > http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/ > > The problem with that page is that it give a little *too much* useful > information. The key things you want are: > * Use a NULL modem cable to connect two computers. You can get this > (or an adapter) at most computer stores. > * Probably use 115200 for the speed. > * I use minicom on the "monitoring" computer. (Any other suggestions?) > + You'll need to redefine the "command" key from Ctrl-A to Ctrl-B, so > that you can use the Ctrl-A to talk to Xen. > + Turn on logging in minicom so you can go back and look at things > that scrolled off the screen > * Your distro is probably already set up to allow Linux to use the > serial port; you just need to add the proper command line args to your > bootloader. > * Allowing root to log in from the serial console is handy, but not > necessary to begin with. > > This is a bit of a hassle to start out with, but if you're serious > about doing Xen development, it's definitely worth the investment. > > -George > > On Thu, Apr 30, 2009 at 11:00 PM, Ananth <cbananth@xxxxxxxxx> wrote: >> :) Thank you... >> The system hangs with a blank screen. It does not reboot. >> When I checked the /var/log/messages file, >> >> Apr 30 01:02:01 cbananth exiting on signal 15 >> >> This was the message that was logged when I booted into the system. >> Could you please guide me on how to set up a serial console? Should I >> connect another system only through a serial port? Can I connect through LAN >> cable also? I have never done this before. >> >> Thank you >> >> Warm Regards >> Ananth >> >> On Tue, Apr 28, 2009 at 7:49 PM, George Dunlap <George.Dunlap@xxxxxxxxxxxxx> >> wrote: >>> >>> Welcome to OS programming. :-) When you say, "everything goes blank", >>> you mean that the machine reboots, or do you mean it just hangs? >>> >>> The main thing to do is add printks to your code to figure out where >>> things start to go bad. >>> >>> If your machine is rebooting / crashing, then you're probably >>> dereferencing a null pointer or something like that. The best thing >>> for this is to set up a serial console, enable the sync_console >>> feature on the xen command line, and log the serial console output. >>> Then you'll have the printks as close as possible to the actual crash, >>> which should help you narrow things down. >>> >>> Good luck, >>> -George >>> >>> On Mon, Apr 27, 2009 at 11:39 PM, Ananth <cbananth@xxxxxxxxx> wrote: >>> > Hi, >>> > Thanks for your suggestion. I was able to change scheduler from credit >>> > to >>> > sedf. "sched" is the correct parameter. >>> > However when I try to select sched=rrobin, the system gets ready to boot >>> > and >>> > then everything goes blank. I have attached the round robin scheduler >>> > code >>> > along with this mail. Could you give me your feedback on whether I have >>> > missed out something. >>> > >>> > Thank you very much once again. >>> > >>> > Warm Regards >>> > Ananth >>> > >>> > On Tue, Apr 28, 2009 at 2:11 AM, George Dunlap <dunlapg@xxxxxxxxx> >>> > wrote: >>> >> >>> >> You need to pass the arguments to xen on the xen command line, not the >>> >> dom0 kernel command line. So the following line should be: >>> >> >>> >> kernel /boot/xen.gz sched=rrobin >>> >> >>> >> (I haven't checked to make sure that "sched" is the right parameter.) >>> >> >>> >> -George >>> >> >>> >> On Mon, Apr 27, 2009 at 7:39 PM, Ananth <cbananth@xxxxxxxxx> wrote: >>> >> > Hi, >>> >> > In continuation with my previous post, I am able to login to the >>> >> > compiled >>> >> > Xen. But it is continuing to run on credit scheduler even if i modify >>> >> > the >>> >> > kernel parameters to run using round robin scheduler. >>> >> > I have pasted the contents of the /boot/grub/menu.lst file. >>> >> > >>> >> > title Xen -- openSUSE 11.0 - 2.6.18.8 manually compiled AGAIN >>> >> > root (hd0,4) >>> >> > kernel /boot/xen.gz >>> >> > module /boot/vmlinuz-2.6.18.8-xen0 >>> >> > root=/dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB2D04E4CE7YEE-part5 >>> >> > showopts >>> >> > sched=rrobin vga=0x314 >>> >> > module /boot/initrd-2.6.18-xen0 >>> >> > >>> >> > Incidentally, even if i give sched=sedf, it still runs only on credit >>> >> > scheduler. Please let me know your feedback on this issue. My aim is >>> >> > to >>> >> > study the performance statistics of credit, sedf and new RR >>> >> > scheduler. >>> >> > It >>> >> > would be great if you could give me any pointers to measure scheduler >>> >> > performance or get statistics from the system. >>> >> > >>> >> > Thanks & Regards >>> >> > Ananth >>> >> > >>> >> > ---------- Forwarded message ---------- >>> >> > From: Ananth <cbananth@xxxxxxxxx> >>> >> > Date: Mon, Apr 27, 2009 at 6:45 PM >>> >> > Subject: Re: [Xen-devel] Fwd: Error while compiling with new RR >>> >> > scheduler >>> >> > To: George Dunlap <dunlapg@xxxxxxxxx> >>> >> > Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx> >>> >> > >>> >> > >>> >> > Hello, >>> >> > Thank you so much for pointing it out. How could I miss something so >>> >> > obvious. I am able to compile it now. I will get back to you in case >>> >> > I >>> >> > get >>> >> > into any issues during run time. >>> >> > >>> >> > Thank you. >>> >> > >>> >> > Regards >>> >> > Ananth >>> >> > >>> >> > On Mon, Apr 27, 2009 at 6:29 PM, George Dunlap <dunlapg@xxxxxxxxx> >>> >> > wrote: >>> >> >> >>> >> >> The message says it pretty clearly: you return the value of ret, >>> >> >> but >>> >> >> there are control paths in the function for which ret.task is not >>> >> >> set. >>> >> >> Namely, if list_empty(runq) is true, then you will return an >>> >> >> uninitialized value, which may be anything (garbage on the stack, >>> >> >> NULL, &c). This will most likely cause Xen to crash, as >>> >> >> xen/common/schedule.c assumes that ret.task will be a valid, >>> >> >> non-NULL >>> >> >> pointer. >>> >> >> >>> >> >> If you happen to know that runq is never empty, then you don't need >>> >> >> the if statement. If it may be empty, then you need an else clause >>> >> >> to >>> >> >> return the idle vcpu for that processor. >>> >> >> >>> >> >> -George >>> >> >> >>> >> >> 2009/4/24 Ananth <cbananth@xxxxxxxxx>: >>> >> >> > Hi, >>> >> >> > I figured out that the error was because of a missing ' ; ' . This >>> >> >> > has >>> >> >> > been fixed now. I have attached the modified code. >>> >> >> > While compiling I am getting the below error message. >>> >> >> > >>> >> >> > cc1: warnings being treated as errors >>> >> >> > sched_rrobin.c: In function ‘rrobin_schedule’: >>> >> >> > sched_rrobin.c:74: error: ‘ret.task’ may be used uninitialized in >>> >> >> > this >>> >> >> > function >>> >> >> > >>> >> >> > Please guide. >>> >> >> > >>> >> >> > Thanks & Regards >>> >> >> > Ananth >>> >> >> > >>> >> >> > >>> >> >> > ---------- Forwarded message ---------- >>> >> >> > From: Ananth <cbananth@xxxxxxxxx> >>> >> >> > Date: Fri, Apr 24, 2009 at 7:25 PM >>> >> >> > Subject: Error while compiling with new RR scheduler >>> >> >> > To: "xen-devel@xxxxxxxxxxxxxxxxxxx" >>> >> >> > <xen-devel@xxxxxxxxxxxxxxxxxxx> >>> >> >> > >>> >> >> > >>> >> >> > Hi, >>> >> >> > Please find attached the source code of Round Robin scheduler >>> >> >> > which I >>> >> >> > am >>> >> >> > trying to add to Xen 3.3.1. >>> >> >> > I am facing the following error messages while compiling the same. >>> >> >> > >>> >> >> > sched_rrobin.c:31: error: two or more data types in declaration >>> >> >> > specifiers >>> >> >> > >>> >> >> > sched_rrobin.c: In function ‘rrobin_vcpu_init’: >>> >> >> > >>> >> >> > sched_rrobin.c:34: error: incompatible types in return >>> >> >> > >>> >> >> > sched_rrobin.c:51: error: incompatible types in return >>> >> >> > >>> >> >> > sched_rrobin.c:94: error: initialization from incompatible pointer >>> >> >> > type >>> >> >> > >>> >> >> > I believe the error in line 94 is causing the rest of the error >>> >> >> > messages. I have checked with the structure definition in >>> >> >> > sched-if.h >>> >> >> > as well >>> >> >> > as the implementation of the same in other schedulers such as SEDF >>> >> >> > and >>> >> >> > Credit. >>> >> >> > >>> >> >> > Request you to kindly provide your feedback regarding the same. >>> >> >> > >>> >> >> > Thanks & Regards >>> >> >> > Ananth >>> >> >> > >>> >> >> > >>> >> >> > _______________________________________________ >>> >> >> > 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 >>> > >>> > >> >> >> _______________________________________________ >> 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |