|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv1] xen: increase default number of PIRQs for hardware domains
On Wed, Dec 03, 2014 at 04:04:20PM +0000, David Vrabel wrote:
> 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.
Why not also expand the number for the guest?
>
> 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@xxxxxxxxxx>
> ---
> 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
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |