All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv1] xen: increase default number of PIRQs for hardware domains
@ 2014-12-03 16:04 David Vrabel
  2014-12-03 16:08 ` Andrew Cooper
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: David Vrabel @ 2014-12-03 16:04 UTC (permalink / raw)
  To: xen-devel
  Cc: Keir Fraser, Ian Campbell, Ian Jackson, Tim Deegan, David Vrabel,
	Jan Beulich

The default limit for the number of PIRQs for hardware domains (dom0)
is not sufficient for some (x86) systems.

Since the pirq structures are individually and dynamically allocated,
the limit for hardware domains may be increased to the number of
possible IRQs.

The extra_guest_irqs command line option now only allows changes to
the domU value.  Any argument for dom0 is ignored.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 docs/misc/xen-command-line.markdown |   11 ++++-------
 xen/common/domain.c                 |    7 +------
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index 0866df2..d352031 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -594,15 +594,12 @@ except for debugging purposes.
 Force or disable use of EFI runtime services.
 
 ### extra\_guest\_irqs
-> `= [<domU number>][,<dom0 number>]`
+> `= [<number>]`
 
-> Default: `32,256`
+> Default: `32`
 
-Change the number of PIRQs available for guests.  The optional first number is
-common for all domUs, while the optional second number (preceded by a comma)
-is for dom0.  Changing the setting for domU has no impact on dom0 and vice
-versa.  For example to change dom0 without changing domU, use
-`extra_guest_irqs=,512`
+Change the number of PIRQs available for guests. This limit does not
+apply to hardware domains (dom0).
 
 ### flask\_enabled
 > `= <integer>`
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 4a62c1d..a88d829 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -231,14 +231,11 @@ static int late_hwdom_init(struct domain *d)
 #endif
 }
 
-static unsigned int __read_mostly extra_dom0_irqs = 256;
 static unsigned int __read_mostly extra_domU_irqs = 32;
 static void __init parse_extra_guest_irqs(const char *s)
 {
     if ( isdigit(*s) )
         extra_domU_irqs = simple_strtoul(s, &s, 0);
-    if ( *s == ',' && isdigit(*++s) )
-        extra_dom0_irqs = simple_strtoul(s, &s, 0);
 }
 custom_param("extra_guest_irqs", parse_extra_guest_irqs);
 
@@ -324,10 +321,8 @@ struct domain *domain_create(
         atomic_inc(&d->pause_count);
 
         if ( !is_hardware_domain(d) )
-            d->nr_pirqs = nr_static_irqs + extra_domU_irqs;
+            d->nr_pirqs = min(nr_static_irqs + extra_domU_irqs, nr_irqs);
         else
-            d->nr_pirqs = nr_static_irqs + extra_dom0_irqs;
-        if ( d->nr_pirqs > nr_irqs )
             d->nr_pirqs = nr_irqs;
 
         radix_tree_init(&d->pirq_tree);
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-12-05 12:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-03 16:04 [PATCHv1] xen: increase default number of PIRQs for hardware domains David Vrabel
2014-12-03 16:08 ` Andrew Cooper
2014-12-03 20:38 ` Konrad Rzeszutek Wilk
2014-12-04 10:25   ` David Vrabel
2014-12-05  9:44 ` Jan Beulich
2014-12-05 10:28   ` David Vrabel
2014-12-05 12:02   ` Andrew Cooper
2014-12-05 12:19     ` Jan Beulich

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.