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
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|