[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH 1/1] Xen ARINC 653 Scheduler (updated to add support for CPU pools)



Keir, George, et. al.,
  I definitely saw two "ops" values.  When the .init function was called, ops = 
0xFF213DC0; I then used xmalloc() to allocate memory for the scheduler data 
structure and set ops->sched_data equal to the address of that memory block 
(similar to what is done in csched_init in sched_credit.c).  When the 
.adjust_global function was called, ops = 0xFF2112D0 and ops->sched_data was 
not equal to the address of the memory block allocated in the .init function 
(it was equal to the value set when "sched_arinc653_def" was declared).

  Regards,
Kathy

> -----Original Message-----
> From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx]
> Sent: Wednesday, June 16, 2010 12:32 PM
> To: Kathy Hadley; George Dunlap
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Juergen Gross
> Subject: Re: [Xen-devel] [PATCH 1/1] Xen ARINC 653 Scheduler (updated
> to add support for CPU pools)
> 
> On 16/06/2010 17:25, "Kathy Hadley" <Kathy.Hadley@xxxxxxxxxxxxxxx>
> wrote:
> 
> > Keir,
> >   I only saw the .init function called once.  I downloaded xen-
> unstable on May
> > 27.  Were your updates after that?
> 
> My changes were done before May 27, and that ties in with you seeing
> .init
> called only once. That being the case, you should not see multiple
> different
> ops structures ('struct scheduler' instances). The only ops struct that
> should exist in the system in this case should be the one statically
> defined
> near the top of common/schedule.c.
> 
>  -- Keir
> 
> >   Thanks,
> > Kathy Hadley
> >
> >
> >> -----Original Message-----
> >> From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx]
> >> Sent: Wednesday, June 16, 2010 12:20 PM
> >> To: George Dunlap; Kathy Hadley
> >> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Juergen Gross
> >> Subject: Re: [Xen-devel] [PATCH 1/1] Xen ARINC 653 Scheduler
> (updated
> >> to add support for CPU pools)
> >>
> >> On 16/06/2010 17:14, "George Dunlap" <George.Dunlap@xxxxxxxxxxxxx>
> >> wrote:
> >>
> >>>>  I actually tried the xmalloc() method first.  I found that when
> the
> >>>> .adjust_global function was called, the address of the "ops" data
> >> structure
> >>>> passed to that function was different from the address of the
> "ops"
> >> data
> >>>> structure when the .init function was called.  I wanted to use
> >> .adjust_global
> >>>> to modify the data structure that was created when the .init
> >> function was
> >>>> called, but I could not figure out a way to get the address of the
> >> second
> >>>> data structure.  Suggestions?
> >>>
> >>> It's been a month or two since I trawled through the cpupools code;
> >>> but I seem to recall that .init is called twice -- once for the
> >>> "default pool" (cpupool0), and once for an actually in-use pool.
> >>> (Juergen, can you correct me if I'm wrong?)  Is it possible that
> >>> that's the difference in the pointers that you're seeing?
> >>
> >> Oh yes, that was the old behaviour. I took a hatchet to the
> >> scheduler/cpupool interfaces a few weeks ago and now we should only
> >> initialise the scheduler once, unless extra cpupools are manually
> >> created.
> >> The fact that Kathy is seeing two different ops structures probably
> >> indicates that her xen-unstable tree is very out of date. Which may
> >> also
> >> mean that the patch will not apply to current tip.
> >>
> >>  -- Keir
> >>
> >
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.