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

Re: [Xen-devel] [RFC] Extending numbers of event channels



>>> On 03.12.12 at 18:52, Wei Liu <Wei.Liu2@xxxxxxxxxx> wrote:
> On Mon, 2012-12-03 at 17:35 +0000, Jan Beulich wrote:
>> >>> On 03.12.12 at 17:29, Wei Liu <Wei.Liu2@xxxxxxxxxx> wrote:
>> > Regarding Jan's comment in [0], I don't think allowing user to specify
>> > arbitrary number of levels a good idea. Because only the last level
>> > should be shared among vcpus, other level should be in percpu struct to
>> > allow for quicker lookup. The idea to let user specify levels will be
>> > too complicated in implementation and blow up percpu section (since the
>> > size grows exponentially). Three levels should be quite enough. See
>> > maths below.
>> 
>> I didn't ask to implement more than three levels, I just asked for
>> the interface to establish the number of levels a guest wants to
>> use to allow for higher numbers (passing of which would result in
>> -EINVAL in your implementation).
>> 
> 
> Ah, I understand now. How about something like this:
> 
> struct EVTCHNOP_reg_nlevel {
>     int levels;
>     void *level_specified_reg_struct;
> }

Yes, just "unsigned int" please.

>> > To sum up:
>> >      1. Guest should allocate pages for third level evtchn.
>> >      2. Guest should register third level pages via a new hypercall op.
>> 
>> Doesn't the guest also need to set up space for the 2nd level?
>> 
> 
> Yes. That will be embedded in percpu struct vcpu_info, which will be
> also register via the same hypercall op.

"struct vcpu_info"? Same hypercall? Or are you mixing up types?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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