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

Re: [Xen-devel] [PATCH 03/11] xen/arm: vpl011: Refactor evtchn_send in Xen to allow sending events from a xen bound channel



Hi,

On 6 March 2017 at 16:24, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>> On 06.03.17 at 11:44, <bhupinder.thakur@xxxxxxxxxx> wrote:
>> On 6 March 2017 at 13:45, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>>>> On 05.03.17 at 13:39, <julien.grall@xxxxxxx> wrote:
>>>> On 02/21/2017 11:26 AM, Bhupinder Thakur wrote:
>>>>> Breakup evtchn_send() to allow sending events for a Xen bound channel. 
>>>>> Currently,
>>>>> there is a check in evtchn_send() i.e. is_consumer_xen() that if the 
>>>>> event channel
>>>>> is bound to a xen consumer then event generation is not allowed for that 
>>>>> channel.
>>>>> This check is to disallow a guest from raising an event via this channel. 
>>>>> However,
>>>>> it should allow Xen to send a event via this channel as it is required 
>>>>> for sending
>>>>> vpl011 event to the dom0.
>>>>>
>>>>> This change introduces a new function raw_evtchn_send() which sends the 
>>>>> event
>>>>> without this check. The current evtchn_send() calls this function after 
>>>>> doing the
>>>>> xen consumer check. Xen uses the raw_evtchm_send() version to send the 
>>>>> event thus
>>>>> bypassing the check.
>>>
>>> Why would Xen want to send an event it is itself the consumer of?
>>> Surely there are better ways to communicate state internally? The
>>> more that you say you want the event sent to Dom0...
>>>
>> As a consumer, Xen receives event from dom0. It also needs to send
>> events to dom0 to indicate that there is data in the ring buffer for
>> dom0 to read. I am using a xen bound event channel for
>> sending/receiving events to/from dom0. I added a new function
>> raw_evtchn_send() to allow Xen to send events to dom0 without doing
>> the is_xen_consumer check. Note that this check is still there in
>> evtchn_send() to disallow guests to raise events on the xen bound
>> channel.
>
> I can see why Xen needs to send events; I can't see why Dom0 couldn't
> simply make a hypercall instead of sending an event if it needs to signal
> something.
>
We decided to reuse the same PV console interface for pl011 as used
for PV console in xenconsole running on dom0, which is events/ring
buffer based. From xenconsole point of view, there is no difference in
terms of handling a pl011 console and a PV console.

> Jan
>

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

 


Rackspace

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