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
|