* [PATCH] evtchn: eliminate 64k ports limitation
@ 2014-04-02 8:03 Jan Beulich
2014-04-02 9:36 ` David Vrabel
2014-04-10 15:54 ` Keir Fraser
0 siblings, 2 replies; 3+ messages in thread
From: Jan Beulich @ 2014-04-02 8:03 UTC (permalink / raw)
To: xen-devel; +Cc: Keir Fraser, David Vrabel
[-- Attachment #1: Type: text/plain, Size: 1891 bytes --]
The introduction of FIFO event channels claimed to support over 100k
ports, but failed to widen a number of 16-bit variables/operations.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -275,12 +275,12 @@ static long evtchn_bind_interdomain(evtc
goto out;
lchn->u.interdomain.remote_dom = rd;
- lchn->u.interdomain.remote_port = (u16)rport;
+ lchn->u.interdomain.remote_port = rport;
lchn->state = ECS_INTERDOMAIN;
evtchn_port_init(ld, lchn);
rchn->u.interdomain.remote_dom = ld;
- rchn->u.interdomain.remote_port = (u16)lport;
+ rchn->u.interdomain.remote_port = lport;
rchn->state = ECS_INTERDOMAIN;
/*
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -90,13 +90,13 @@ struct evtchn
domid_t remote_domid;
} unbound; /* state == ECS_UNBOUND */
struct {
- u16 remote_port;
+ evtchn_port_t remote_port;
struct domain *remote_dom;
} interdomain; /* state == ECS_INTERDOMAIN */
struct {
- u16 irq;
- u16 next_port;
- u16 prev_port;
+ u32 irq;
+ evtchn_port_t next_port;
+ evtchn_port_t prev_port;
} pirq; /* state == ECS_PIRQ */
u16 virq; /* state == ECS_VIRQ */
} u;
@@ -209,7 +209,7 @@ struct vcpu
atomic_t pause_count;
/* IRQ-safe virq_lock protects against delivering VIRQ to stale evtchn. */
- u16 virq_to_evtchn[NR_VIRQS];
+ evtchn_port_t virq_to_evtchn[NR_VIRQS];
spinlock_t virq_lock;
/* Bitmask of CPUs on which this VCPU may run. */
[-- Attachment #2: evtchn-fix-port-width.patch --]
[-- Type: text/plain, Size: 1927 bytes --]
evtchn: eliminate 64k ports limitation
The introduction of FIFO event channels claimed to support over 100k
ports, but failed to widen a number of 16-bit variables/operations.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -275,12 +275,12 @@ static long evtchn_bind_interdomain(evtc
goto out;
lchn->u.interdomain.remote_dom = rd;
- lchn->u.interdomain.remote_port = (u16)rport;
+ lchn->u.interdomain.remote_port = rport;
lchn->state = ECS_INTERDOMAIN;
evtchn_port_init(ld, lchn);
rchn->u.interdomain.remote_dom = ld;
- rchn->u.interdomain.remote_port = (u16)lport;
+ rchn->u.interdomain.remote_port = lport;
rchn->state = ECS_INTERDOMAIN;
/*
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -90,13 +90,13 @@ struct evtchn
domid_t remote_domid;
} unbound; /* state == ECS_UNBOUND */
struct {
- u16 remote_port;
+ evtchn_port_t remote_port;
struct domain *remote_dom;
} interdomain; /* state == ECS_INTERDOMAIN */
struct {
- u16 irq;
- u16 next_port;
- u16 prev_port;
+ u32 irq;
+ evtchn_port_t next_port;
+ evtchn_port_t prev_port;
} pirq; /* state == ECS_PIRQ */
u16 virq; /* state == ECS_VIRQ */
} u;
@@ -209,7 +209,7 @@ struct vcpu
atomic_t pause_count;
/* IRQ-safe virq_lock protects against delivering VIRQ to stale evtchn. */
- u16 virq_to_evtchn[NR_VIRQS];
+ evtchn_port_t virq_to_evtchn[NR_VIRQS];
spinlock_t virq_lock;
/* Bitmask of CPUs on which this VCPU may run. */
[-- Attachment #3: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] evtchn: eliminate 64k ports limitation
2014-04-02 8:03 [PATCH] evtchn: eliminate 64k ports limitation Jan Beulich
@ 2014-04-02 9:36 ` David Vrabel
2014-04-10 15:54 ` Keir Fraser
1 sibling, 0 replies; 3+ messages in thread
From: David Vrabel @ 2014-04-02 9:36 UTC (permalink / raw)
To: Jan Beulich; +Cc: xen-devel, Keir Fraser, David Vrabel
On 02/04/14 09:03, Jan Beulich wrote:
> The introduction of FIFO event channels claimed to support over 100k
> ports, but failed to widen a number of 16-bit variables/operations.
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Thanks.
David
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] evtchn: eliminate 64k ports limitation
2014-04-02 8:03 [PATCH] evtchn: eliminate 64k ports limitation Jan Beulich
2014-04-02 9:36 ` David Vrabel
@ 2014-04-10 15:54 ` Keir Fraser
1 sibling, 0 replies; 3+ messages in thread
From: Keir Fraser @ 2014-04-10 15:54 UTC (permalink / raw)
To: Jan Beulich; +Cc: xen-devel, David Vrabel
Jan Beulich wrote:
> The introduction of FIFO event channels claimed to support over 100k
> ports, but failed to widen a number of 16-bit variables/operations.
>
> Signed-off-by: Jan Beulich<jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-04-10 15:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-02 8:03 [PATCH] evtchn: eliminate 64k ports limitation Jan Beulich
2014-04-02 9:36 ` David Vrabel
2014-04-10 15:54 ` Keir Fraser
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.