Hi *, Whats the recommended way of executing periodic tasks in Xen? I can stick stuff in the scheduler loop, but if there''s a neater way of doing this I''d prefer that. I think I should be able to write a function, and have Xen invoke it periodically (via a timer interrupt or some other event?) but I''m not sure about the details. Thoughts? Also, is there any way of delegating such a periodic task within Xen to a specific core/processor in the system? TIA, Diwaker -- Web/Blog/Gallery: http://floatingsun.net/blog _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 6/3/07 19:01, "Diwaker Gupta" <diwaker.lists@gmail.com> wrote:> Whats the recommended way of executing periodic tasks in Xen? I can > stick stuff in the scheduler loop, but if there''s a neater way of > doing this I''d prefer that. I think I should be able to write a > function, and have Xen invoke it periodically (via a timer interrupt > or some other event?) but I''m not sure about the details. Thoughts?Run it off a timer. See xen/timer.h> Also, is there any way of delegating such a periodic task within Xen > to a specific core/processor in the system?Xen timers are explicitly bound to a particular core when they are initialised. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Thanks Keir. One more question: it seems that the timer is invoked via softirq, which runs in the context of the domain which was executing when the IRQ was raied. Now my timer function sometimes pauses certain domains, and if it pauses the domain in whose context the IRQ was invoked, this causes problems. Is there a better way of doing this? Thanks, Diwaker On 3/6/07, Keir Fraser <keir@xensource.com> wrote:> On 6/3/07 19:01, "Diwaker Gupta" <diwaker.lists@gmail.com> wrote: > > > Whats the recommended way of executing periodic tasks in Xen? I can > > stick stuff in the scheduler loop, but if there''s a neater way of > > doing this I''d prefer that. I think I should be able to write a > > function, and have Xen invoke it periodically (via a timer interrupt > > or some other event?) but I''m not sure about the details. Thoughts? > > Run it off a timer. See xen/timer.h > > > Also, is there any way of delegating such a periodic task within Xen > > to a specific core/processor in the system? > > Xen timers are explicitly bound to a particular core when they are > initialised. > > -- Keir > >-- Web/Blog/Gallery: http://floatingsun.net/blog _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 11/3/07 20:50, "Diwaker Gupta" <diwaker.lists@gmail.com> wrote:> Thanks Keir. One more question: it seems that the timer is invoked via > softirq, which runs in the context of the domain which was executing > when the IRQ was raied. Now my timer function sometimes pauses certain > domains, and if it pauses the domain in whose context the IRQ was > invoked, this causes problems. Is there a better way of doing this?Don''t pause the domain? If you want to pause domains you''re probably wanting hypervisor threads. They don''t exist, yet. But they likely will in future for potentially expensive operations like domain destruction, page scrubbing, etc. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel