* [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number
@ 2020-01-14 10:02 Jan Beulich
2020-01-14 10:16 ` Julien Grall
2020-01-14 10:41 ` Andrew Cooper
0 siblings, 2 replies; 5+ messages in thread
From: Jan Beulich @ 2020-01-14 10:02 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini, Julien Grall, Wei Liu, Konrad Wilk,
George Dunlap, Andrew Cooper, Ian Jackson
FIFO event channels allow ports up to 2^17, so we need to use a wider
field in struct pirq. Move "masked" such that it may share the 8-byte
slot with struct arch_pirq on 64-bit arches, rather than leaving a
7-byte hole in all cases.
Take the opportunity and also add a comment regarding "arch" placement
within the structure.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -127,9 +127,10 @@ struct vcpu;
struct pirq {
int pirq;
- u16 evtchn;
- bool_t masked;
+ evtchn_port_t evtchn;
struct rcu_head rcu_head;
+ bool masked;
+ /* Architectures may require this field to be last. */
struct arch_pirq arch;
};
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number
2020-01-14 10:02 [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number Jan Beulich
@ 2020-01-14 10:16 ` Julien Grall
2020-01-14 10:23 ` Jan Beulich
2020-01-14 10:41 ` Andrew Cooper
1 sibling, 1 reply; 5+ messages in thread
From: Julien Grall @ 2020-01-14 10:16 UTC (permalink / raw)
To: Jan Beulich, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini, Wei Liu, Konrad Wilk, George Dunlap,
Andrew Cooper, Ian Jackson
Hi Jan,
On 14/01/2020 10:02, Jan Beulich wrote:
> FIFO event channels allow ports up to 2^17, so we need to use a wider
> field in struct pirq. Move "masked" such that it may share the 8-byte
> slot with struct arch_pirq on 64-bit arches, rather than leaving a
> 7-byte hole in all cases.
>
> Take the opportunity and also add a comment regarding "arch" placement
> within the structure.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/include/xen/irq.h
> +++ b/xen/include/xen/irq.h
> @@ -127,9 +127,10 @@ struct vcpu;
>
> struct pirq {
> int pirq;
> - u16 evtchn;
> - bool_t masked;
> + evtchn_port_t evtchn;
> struct rcu_head rcu_head;
> + bool masked;
> + /* Architectures may require this field to be last. */
I orginally planned to add a comment in struct pirq, but I am not in
favor to continue to encourage quirkiness in the code. I sent a series
(see [1]) that drop this requirements from x86 and therefore remove the
need of this comment.
> struct arch_pirq arch;
> };
>
>
Cheers,
[1]
https://lists.xenproject.org/archives/html/xen-devel/2020-01/msg00924.html
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number
2020-01-14 10:16 ` Julien Grall
@ 2020-01-14 10:23 ` Jan Beulich
2020-01-14 10:39 ` Julien Grall
0 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2020-01-14 10:23 UTC (permalink / raw)
To: Julien Grall
Cc: Stefano Stabellini, Wei Liu, Konrad Wilk, George Dunlap,
Andrew Cooper, Ian Jackson, xen-devel@lists.xenproject.org
On 14.01.2020 11:16, Julien Grall wrote:
> Hi Jan,
>
> On 14/01/2020 10:02, Jan Beulich wrote:
>> FIFO event channels allow ports up to 2^17, so we need to use a wider
>> field in struct pirq. Move "masked" such that it may share the 8-byte
>> slot with struct arch_pirq on 64-bit arches, rather than leaving a
>> 7-byte hole in all cases.
>>
>> Take the opportunity and also add a comment regarding "arch" placement
>> within the structure.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/include/xen/irq.h
>> +++ b/xen/include/xen/irq.h
>> @@ -127,9 +127,10 @@ struct vcpu;
>>
>> struct pirq {
>> int pirq;
>> - u16 evtchn;
>> - bool_t masked;
>> + evtchn_port_t evtchn;
>> struct rcu_head rcu_head;
>> + bool masked;
>> + /* Architectures may require this field to be last. */
>
> I orginally planned to add a comment in struct pirq, but I am not in
> favor to continue to encourage quirkiness in the code. I sent a series
> (see [1]) that drop this requirements from x86 and therefore remove the
> need of this comment.
Well, I've found the issue fixed here while doing a first review pass
over said patch of yours (I'm yet to make up my mind whether I have
reservations, hence I didn't reply yet). The change here will want
backporting, so it'll be easier in any event to rebase your patch over
this one. This rebasing can then include dropping the comment again.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number
2020-01-14 10:23 ` Jan Beulich
@ 2020-01-14 10:39 ` Julien Grall
0 siblings, 0 replies; 5+ messages in thread
From: Julien Grall @ 2020-01-14 10:39 UTC (permalink / raw)
To: Jan Beulich
Cc: Stefano Stabellini, Wei Liu, Konrad Wilk, George Dunlap,
Andrew Cooper, Ian Jackson, xen-devel@lists.xenproject.org
Hi Jan,
On 14/01/2020 10:23, Jan Beulich wrote:
> On 14.01.2020 11:16, Julien Grall wrote:
>> Hi Jan,
>>
>> On 14/01/2020 10:02, Jan Beulich wrote:
>>> FIFO event channels allow ports up to 2^17, so we need to use a wider
>>> field in struct pirq. Move "masked" such that it may share the 8-byte
>>> slot with struct arch_pirq on 64-bit arches, rather than leaving a
>>> 7-byte hole in all cases.
>>>
>>> Take the opportunity and also add a comment regarding "arch" placement
>>> within the structure.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> --- a/xen/include/xen/irq.h
>>> +++ b/xen/include/xen/irq.h
>>> @@ -127,9 +127,10 @@ struct vcpu;
>>>
>>> struct pirq {
>>> int pirq;
>>> - u16 evtchn;
>>> - bool_t masked;
>>> + evtchn_port_t evtchn;
>>> struct rcu_head rcu_head;
>>> + bool masked;
>>> + /* Architectures may require this field to be last. */
>>
>> I orginally planned to add a comment in struct pirq, but I am not in
>> favor to continue to encourage quirkiness in the code. I sent a series
>> (see [1]) that drop this requirements from x86 and therefore remove the
>> need of this comment.
>
> Well, I've found the issue fixed here while doing a first review pass
> over said patch of yours (I'm yet to make up my mind whether I have
> reservations, hence I didn't reply yet). The change here will want
> backporting, so it'll be easier in any event to rebase your patch over
> this one. This rebasing can then include dropping the comment again.
Fair enough.
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number
2020-01-14 10:02 [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number Jan Beulich
2020-01-14 10:16 ` Julien Grall
@ 2020-01-14 10:41 ` Andrew Cooper
1 sibling, 0 replies; 5+ messages in thread
From: Andrew Cooper @ 2020-01-14 10:41 UTC (permalink / raw)
To: Jan Beulich, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini, Julien Grall, Wei Liu, Konrad Wilk,
George Dunlap, Ian Jackson
On 14/01/2020 10:02, Jan Beulich wrote:
> FIFO event channels allow ports up to 2^17, so we need to use a wider
> field in struct pirq. Move "masked" such that it may share the 8-byte
> slot with struct arch_pirq on 64-bit arches, rather than leaving a
> 7-byte hole in all cases.
>
> Take the opportunity and also add a comment regarding "arch" placement
> within the structure.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Oops. In fairness, it was entirely reasonable of the FIFO work to
presume that all code already used evtchn_port_t for evtchn ports.
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> --- a/xen/include/xen/irq.h
> +++ b/xen/include/xen/irq.h
> @@ -127,9 +127,10 @@ struct vcpu;
>
> struct pirq {
> int pirq;
> - u16 evtchn;
> - bool_t masked;
> + evtchn_port_t evtchn;
> struct rcu_head rcu_head;
> + bool masked;
> + /* Architectures may require this field to be last. */
> struct arch_pirq arch;
> };
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-01-14 10:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-14 10:02 [Xen-devel] [PATCH] IRQ: u16 is too narrow for an event channel number Jan Beulich
2020-01-14 10:16 ` Julien Grall
2020-01-14 10:23 ` Jan Beulich
2020-01-14 10:39 ` Julien Grall
2020-01-14 10:41 ` Andrew Cooper
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.