[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] tests/resource: Extend to check that the grant frames are mapped correctly


  • To: Jan Beulich <jbeulich@xxxxxxxx>, Jane Malalane <jane.malalane@xxxxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Fri, 12 Nov 2021 14:16:42 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=H5VbkS6BKgoeA4buEgq5xrLtgBXr2FVDsIdr+N0fBqM=; b=lIS8WPH8ilMJoUNWCV+mWxZLAk9jMEV/V9jP6dM3TWJMdmb41ey2gcOCU4t3Dr5Q64+6mujqZOEmNjK5e0hu4MlB45z0HmK6dpKDINbGLhtqbRHnNWlR74LjpCpLesrNTRxNHvgGb85LAvFr2NegTELyWB8bNlxXsFuBvcoci7KhaC2OIUp9/RchS911XiWl1FabvLPom9IwUPfCLl+j4uT0AnMd15wmowMS1pp7WnkDvxqXQ53W+QVJ137HGEGAYNZFvo7T4Lmhm+PTz1W89ueB6BT6Kp2o/qt6GN85bS+4nX+sP/TmqG+ucdXwTStm/7joS8i+k6bOTu25DnCk6Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ri/XkDXfmlHa2w+Pjo/pXWrU9cabnZddaub1wVRsrgik5mlh5dlsMZFExupSThCDo0/R4f9Pt+kY4P+MR8rZ1KWVaru13MHf25A6E7WOGA/zBFh57Mqs4HWf+/R4f3X2JXFTkkf9kPXoCwwINQp8LEe9bf+Sec1WUseCNFM939uKY0804xeK0mHZMVYujnHOTNiIF2BXRosVLLmBwPbuTW3TqaFtm6vhnWpnjJS8CMW3T9pfrlnAstHtc7CRoIEMeuC0Zr8Mqj+cHEovtPc2Yp5WNSJQQo/vXUE2NaILdhx5LLbTJKxHxeMpTuV5hXcLL2Nm0Yd1LICD8aKNc0sK+A==
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Ian Jackson <iwj@xxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 12 Nov 2021 14:17:27 +0000
  • Ironport-data: A9a23:DQfnn6l5TWqfya9JvrRwgfXo5gx3IURdPkR7XQ2eYbSJt1+Wr1Gzt xJMDW+FOaqPYzSgKYwjPonj8ExTvp7cyNZmSgJvrC4yRCMWpZLJC+rCIxarNUt+DCFioGGLT Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA187IMsdoUg7wbdg29cy2YLR7z6l4 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4 P9nlb29FF8qAqrnvrwUCCFmFCp+OJQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq 6ZecmpUKEne2aTmm9pXScE17ignBODtMJkSpTdLyjbBAOx9aZvCX7/L9ZlT2zJYasVmQKaGO JRHOWYHgBLoTwRCMUpPULMCotz5vVj9NBxAmFu7nP9ii4TU5FMoi+W8WDbPQfSLWsd9jkuev njB/WnyHlcdLtP34TiP/2+oh+TPtTjmQ49UH7q9ntZ6jVvWymENBRk+UVqgveL/mkO4Q8hYK UEf5mwpt6da3FOvZsnwWVu/unHsg/IHc4MOSatgsljLk/eKpVbCboQZctJfQPYMlO47GGQp6 liiuYvgXgRRt7aVTEvIo994sgiOESQSKGYDYwoNQg0E/8TvrekPs/7fcjpwOPXr14OoQFkc1 xjP9XFj3OtL0abnwo3ipQif6w9AsKQlWeLcCu//emu+pj10a4e+D2BDwQiKtK0QRGp1o7Tog ZTlpyR8xLxRZX1uvHbUKAnoIF1Pz6zYWNE7qQQ/d6TNDxz3pxaekXl4uVmS3ntBPMceYiPOa 0TOow5X75I7FCL0NvEpPtzrUJ97kPKI+THZuhb8NIcmjn9ZLl/vwc2TTRTIgzCFfLYEzcnTx qt3ge7zVC1HWMyLPRK9RvsH0K9D+8zN7Ti7eHwP9Dz+ieD2TCfMEd8taQLSBshkvPLsiFiEq L53aprVoyizpcWjO0E7B6ZIdgtURZX6bLirw/FqmhmrflA7RTp/UqCJmtvMueVNxsxoqwsBx VnkMmdww1vjn3zXbwKMb3FocrT0Wphj63k8OEQR0ZyAghDPuK6js/UScYUZZ74i+LAxxPJ4V aBdKc6BHu5OWnLM/DFENcvxq4lrdRKKgwOSPnX6PGhjLsA4HwGZqMX5egbP9TUVCnblv8UJv LD9hBjQRoAORlo+AZ+OOu6v1V64oVMUhPl2AxnTOtBWdUi1qNpqJiX9g+UZOcYJLRmflDKW2 xzPWUUTpPXXop9z+97M3PjWo4CsGup4P0xbA2iEsurmaXiEpjKumNYSXvyJcDbRUHLP1J+jP egFnevhNPAnnUpRt9YuGbhc0q9jtcDkoKVXz1o4ESyTPUirEL5pPlKPwdJL6v9W3rZctAa7B hCP991dNenbMc/pCgdMdg8sb+DF3vAIgDjCq/8yJRyitiNw+bOGV2RUPgWN13MBfOckbtt9z LdzotMS5iy+lgEuY4SPgS1j/miRKmANDvc8vZYADY630gcmxzmuu3AH5vMaNH1XV+hxDw==
  • Ironport-hdrordr: A9a23:9YQ1I6AHwvrt3CnlHeg8sceALOsnbusQ8zAXPh9KJiC9I/b1qy nxppkmPH/P6Qr4WBkb6LW90dq7MAzhHPlOkPUs1NaZLXTbUQ6TQr2KgrGSuwEIdxeOkdK1kJ 0QCZSWa+eAfWSS7/yKmTVQeuxIqLLskNHK9JTjJjVWPGVXgslbnnZE422gYytLrWd9dPgE/d anl7F6T23KQwVoUi33PAhJY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzyVxA0XXT9jyaortT GtqX232oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq iBnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjWSVhHPyyPaJDA4SOo5kv8Z0YxHZ400vsJVXy6 RQxV+UsJJREFfpgDn9z8KgbWArqmOE5V4Z1cIDhX1WVoUTLJVLq5YEwU9TGJAcWArn9YEcFv V0Bs203ocWTbqjVQGagoBT+q3oYpxqdS32BnTq+/blnQS+pUoJjHfxn6ck7zA9HJFUcegM2w 2LCNUvqFh0dL5iUUtKPpZ2fSKGMB2+ffvyChPnHb3GLtBNB5ufke+83F0KjNvaD6DgiqFCwa j8bA==
  • Ironport-sdr: s1fUiSJ/3V/uFtpwoATM8bO8STehSK+IgAeqSGnLmj2/eWteB5XeP6MZLUhHRg44/kEc6wspMQ WT3cwCRcOachcCTMhoK4H8DVxkH/a6jan3jBnt6bk6cgiKpEw8p2aPfyPIKxmjwAr92EH/GvRa 49AE90L+G6Y38Br6Ceh4s2dA/FGKXwx3PL0j1fkTE3ouWNhFy4bdN25zFY6sbP+kFGPxIWT26N dZVyvvdUvDsYzEgOKsZaA1Nod9LWs+c16d2ZIGzAejoZ2PKyhELIxsN8UAyBmYFGv7n0mHkDD1 blP6gsqNeJaXPlEL/CMUxR5E
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 18/10/2021 12:01, Jan Beulich wrote:
> On 18.10.2021 12:08, Jane Malalane wrote:
>
>>      /*
>>       * Failure here with E2BIG indicates Xen is missing the bugfix to map
>>       * resources larger than 32 frames.
>>       */
>>      if ( !res )
>> -        return fail("    Fail: Map %d - %s\n", errno, strerror(errno));
>> +        return fail("    Fail: Map grant table %d - %s\n", errno, 
>> strerror(errno));
>>  
>> +    /* Put each gref at a unique offset in its frame. */
>> +    for ( unsigned int i = 0; i < nr_frames; i++ )
>> +    {
>> +        unsigned int gref = i * (XC_PAGE_SIZE / sizeof(*gnttab)) + i;
>> +
>> +        refs[i] = gref;
>> +        domids[i] = domid;
>> +
>> +        gnttab[gref].domid = 0;
>> +        gnttab[gref].frame = gfn;
>> +        gnttab[gref].flags = GTF_permit_access;
>> +    }
> To make obvious that you're done with gnttab[], perhaps better unmap it
> here rather than at the bottom?

This is just test code.  We could unmap it earlier, but that makes it
irritating if you ever need to insert printk()'s.

>> @@ -123,8 +162,25 @@ static void test_domain_configurations(void)
>>  
>>          printf("  Created d%u\n", domid);
>>  
>> -        test_gnttab(domid, t->create.max_grant_frames);
>> +        rc = xc_domain_setmaxmem(xch, domid, -1);
> That's an unbelievably large upper bound that you set. Since you
> populate ...
>
>> +        if ( rc )
>> +        {
>> +            fail("  Failed to set max memory for domain: %d - %s\n",
>> +                 errno, strerror(errno));
>> +            goto test_done;
>> +        }
>> +
>> +        rc = xc_domain_populate_physmap_exact(xch, domid, ARRAY_SIZE(ram), 
>> 0, 0, ram);
> ... only a single page, can't you get away with a much smaller value?

Yes, but again, this is test code.

Furthermore, there are other plans for further testing which would mean
1 wouldn't be appropriate here.  All we want is "don't choke on limits
while we're performing testing".

~Andrew




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.