[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Fwd: [Xen-devel] How to Stop scheduler
Any answers plzz?? Also is what schedule_lock in schedlue_data is for ?? I tried to use it thinking it'll stop further scheduling, but it hangs my machine and the function doesnot proceed after that.. is something else I have to do to pause scheduling in XEN. > On Tue, Nov 10, 2009 at 12:18 PM, Pankaj Parakh > <me.pankajparakh@xxxxxxxxx> wrote: How to disable softirq in Xen, if I want that no function should be able to raise SCHEDULE_SOFTIRQ, how can I do that?? > On Thu, Nov 5, 2009 at 3:25 PM, George Dunlap > <George.Dunlap@xxxxxxxxxxxxx> wrote: >> I assume you mean, once you've paused current(), how do you get into > >> the scheduler to actually get it off the cpu? > >> > >> In Linux, you can call schedule() because each process has its own > >> kernel stack allocated to it; the stack "remembers" where each process > >> was in the kernel, so you can return from schedule() at the same place > >> in the kernel once you're scheduled again. > >> > >> Xen only has one stack per cpu, so it cannot keep track of where *in > >> the hypervisor* a vcpu is that gets scheduled out. Therefore, you > >> can't call schedule() directly, as it would throw away the stack. You > >> must raise SCHEDULE_SOFTIRQ on the current cpu, and then return back > >> to the guest. On the way out, the softirq will call schedule() and > >> switch to another vcpu if necessary. (It will only schedule the idle > >> process if there are no runnable vcpus.) > >> > >> grep for SCHEDULE_SOFTIRQ to see examples of how this is used in Xen. > >> > >> -George > >> > >> On Thu, Nov 5, 2009 at 12:43 AM, Pankaj Parakh > >> <me.pankajparakh@xxxxxxxxx> wrote: > >>> How can I schedule idle vcpu voluntarily without using schedule() ?? > >>> Is there any function for it already defined, or do I have to follow > >>> some steps.. ?? > >>> > >>> On Wed, Nov 4, 2009 at 5:09 PM, George Dunlap > >>> <George.Dunlap@xxxxxxxxxxxxx> wrote: > >>>> > >>>> On Wed, Nov 4, 2009 at 5:59 AM, Pankaj Parakh > >>>> <me.pankajparakh@xxxxxxxxx> wrote: > >>>> > If I take domain_update_lock for a domain, what will happen to its > >>>> > interrupts for IO completions or any other type..?? > >>>> > And will it be scheduled if I hold that lock..?? > >>>> > >>>> Have you looked at the interrupt delivery / IO completion path, or the > >>>> scheduler path, to see if those are affected by the > >>>> domain_update_lock()? > >>>> > >>>> Xen is a bit of a twisted web; sometimes you just have to follow a web > >>>> of logic around to find out what you're looking for; then, once you've > >>>> come to a conclusion, test it by writing some code. > >>>> > >>>> For the scheduling question, you might start with looking at > >>>> vcpu_runnable(). > >>>> > >>>> Peace, > >>>> -George > >>>> > >>>> > > >>>> > On Wed, Nov 4, 2009 at 11:08 AM, Pankaj Parakh > >>>> > <me.pankajparakh@xxxxxxxxx> > >>>> > wrote: > >>>> >> > >>>> >> So is that means there will be no interrupt loss, and also clock in > >>>> >> the paused domain will be in right and expected time.. ?? > >>>> >> > >>>> >> On Wed, Nov 4, 2009 at 12:41 AM, George Dunlap > >>>> >> <george.dunlap@xxxxxxxxxxxxx> wrote: > >>>> >> > If you call vcpu_pause(), it atomically increments a counter in the > >>>> >> > vcpu > >>>> >> > struct. While that counter is non-zero, the vcpu *will not* be > >>>> >> > scheduled, > >>>> >> > interrupts or no. Interrupts will be delivered when it's scheduled > >>>> >> > again. > >>>> >> > > >>>> >> > -George > >>>> >> > > >>>> >> > Pankaj Parakh wrote: > >>>> >> >> > >>>> >> >> If I pause a vcpu/domain using those functions, say if a domain's > >>>> >> >> I/O > >>>> >> >> request over then its interrupt will raise and it can restart its > >>>> >> >> scheduling rite..?? How this interrupts are/ can be queued so that > >>>> >> >> when the vcpu is in pause state, it should nat change its state and > >>>> >> >> when it come back to wait state, those interrupt will not be lost.. > >>>> >> >> > >>>> >> >> On Tue, Nov 3, 2009 at 5:18 PM, George Dunlap > >>>> >> >> <George.Dunlap@xxxxxxxxxxxxx> wrote: > >>>> >> >> > >>>> >> >>> > >>>> >> >>> Do you mean that you want to stop one specific vcpu / domain from > >>>> >> >>> being scheduled? > >>>> >> >>> > >>>> >> >>> If so, you're looking for the following functions: > >>>> >> >>> vcpu_pause(), vcpu_unpause() > >>>> >> >>> domain_pause(), domain_unpause(). > >>>> >> >>> > >>>> >> >>> They're defined in xen/common/domain.c. > >>>> >> >>> > >>>> >> >>> -George > >>>> >> >>> > >>>> >> >>> > >>>> >> >>> On Mon, Nov 2, 2009 at 9:02 PM, Pankaj Parakh > >>>> >> >>> <me.pankajparakh@xxxxxxxxx> > >>>> >> >>> wrote: > >>>> >> >>> > >>>> >> >>>> > >>>> >> >>>> Hi All, > >>>> >> >>>> > >>>> >> >>>> I am working on a project wherein I wanted to stop the scheduling > >>>> >> >>>> activity in hypervisor through 'generic' part of scheduler, I > >>>> >> >>>> have > >>>> >> >>>> lil > >>>> >> >>>> confusion as to what all things I need to mask/stop for disabling > >>>> >> >>>> hypervisor to schedule any vcpu untill I want. > >>>> >> >>>> > >>>> >> >>>> Issues which I can think are about I/O waits or Zombie VCPUs. > >>>> >> >>>> But how > >>>> >> >>>> to tackle them... I dont know.. > >>>> >> >>>> > >>>> >> >>>> I wanted to know what all responsibility the generic scheduler > >>>> >> >>>> holds > >>>> >> >>>> in hypervisor, > >>>> >> >>>> > >>>> >> >>>> Any type of info or pointer can be useful. > >>>> >> >>>> > >>>> >> >>>> Thanks > >>>> >> >>>> Pankaj Parakh > >>>> >> >>>> > >>>> >> >>>> _______________________________________________ > >>>> >> >>>> Xen-devel mailing list > >>>> >> >>>> Xen-devel@xxxxxxxxxxxxxxxxxxx > >>>> >> >>>> http://lists.xensource.com/xen-devel > >>>> >> >>>> > >>>> >> >>>> > >>>> >> >> > >>>> >> >> > >>>> >> >> > >>>> >> >> > >>>> >> > > >>>> >> > > >>>> >> > >>>> >> > >>>> >> > >>>> >> -- > >>>> >> Pankaj Parakh > >>>> > > >>>> > > >>>> > > >>>> > -- > >>>> > Pankaj Parakh > >>>> > > >>>> > _______________________________________________ > >>>> > Xen-devel mailing list > >>>> > Xen-devel@xxxxxxxxxxxxxxxxxxx > >>>> > http://lists.xensource.com/xen-devel > >>>> > > >>>> > > >>> > >>> > >>> > >>> -- > >>> Pankaj Parakh > >>> > >>> _______________________________________________ > >>> Xen-devel mailing list > >>> Xen-devel@xxxxxxxxxxxxxxxxxxx > >>> http://lists.xensource.com/xen-devel > >>> > >> > > > > > > > > -- > > Pankaj Parakh > > > > > > -- > Pankaj Parakh -- Pankaj Parakh -- Pankaj Parakh _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |