|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 14/15] xen: make grant table limits boot parameters dom0 only
>>> On 20.09.17 at 08:34, <jgross@xxxxxxxx> wrote:
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2098,7 +2098,7 @@ static void __init find_gnttab_region(struct domain *d,
> kinfo->gnttab_size = (_etext - _stext) & PAGE_MASK;
>
> /* Make sure the grant table will fit in the region */
> - if ( (kinfo->gnttab_size >> PAGE_SHIFT) < max_grant_frames )
> + if ( grant_table_verify_size(d, kinfo->gnttab_size >> PAGE_SHIFT) )
> panic("Cannot find a space for the grant table region\n");
I can see how this may cause complications with my alternative
proposal for the meaning of the command line options, but that's
solvable for sure.
> @@ -3462,6 +3449,10 @@ grant_table_create(
> struct domain *d)
> {
> struct grant_table *t;
> + static unsigned int max_grant_frames;
> + static unsigned int max_maptrack_frames;
> + integer_param("gnttab_max_frames", max_grant_frames);
> + integer_param("gnttab_max_maptrack_frames", max_maptrack_frames);
>
> if ( (t = xzalloc(struct grant_table)) == NULL )
> return -ENOMEM;
> @@ -3469,14 +3460,17 @@ grant_table_create(
> /* Simple stuff. */
> percpu_rwlock_resource_init(&t->lock, grant_rwlock);
> spin_lock_init(&t->maptrack_lock);
> - t->max_grant_frames = max_grant_frames;
> - t->max_maptrack_frames = max_maptrack_frames;
>
> /* Okay, install the structure. */
> d->grant_table = t;
>
> if ( d->domain_id == 0 )
> + {
> + t->max_grant_frames = max_grant_frames ? :
> DEFAULT_MAX_NR_GRANT_FRAMES;
> + t->max_maptrack_frames =
> + max_maptrack_frames ? :
> DEFAULT_MAX_MAPTRACK_FRAMES;
> return grant_table_init(t);
> + }
The use here makes it that in effect the two variables could then
become __initdata. Maybe their definition should then even move
here (if the other proposal would be discarded).
> +bool __init grant_table_verify_size(struct domain *d, unsigned int frames)
const
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |