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

Re: [PATCH] Revert "tools/firmware/ovmf: Use OvmfXen platform file is exist"


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Tue, 22 Jun 2021 17:27:35 +0100
  • 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-SenderADCheck; bh=fTfSzXv9hlAttnN6XQ5b6pwrnkXJF1fp8R9V9tpTRKM=; b=L5+WkHy8UIFwfyRJmyI5tGqW7IFCa8Rdgb/QUUMyYwNslOm45zJyAlVlglB9psXe2Aam8UesvV2znNDzJzpBACxwuh8MDjnCKMLELJs4zRHK9K1Z2GBPMz6n7ru5fMcyJaa6mBXMep07yejDNNjbYSp0UI5Hcyyju7ldQCSzCRwjLN9RFOWkqieY+gnUK+ZFDsCe/46hDDBcWcz1eRT9ZtA+A9lrArW7STPvAFZ9Ow64q1bR+jqPp5h8fXHKRj9AwsrBOTI5fNZ7VaAlR6sUP2OsBhfhsFGgef0xEBaxoLLkvze1q3HnklPdmc7RtWyDiATJbG4BuMhhI5HGDbRzXw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E8B/am2kDLy30FrAkr5/+ytjhFRKIzhL5nqr2bY4Td+nl5cMtQz0M4qzory+3jhMxP1t8ZBkK42Fid014L/a9pkC+F5ejCyC+BNxzBD070RfEjUogIh+rOgoBZUuEQWlmF6mUSoTNkDrOT8oG2R+zrNjk8cDn4X2UDU1xUw1bscnjmgGCKrysjflV7HYWgSLxSPDoNWOAdQqWO6IqYn+olEFFgZ/G83dQtH1coWbwWiA73O/4SGdCRM97t3sPTKsAbLIRlFTHj+i8C0TqRUo4l11EZB18KIrfDRSoN2ujT0ra2VO6t4glGIbqVEE+ctLMjKr+Jo1MBCOKdsSDX4MEg==
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 22 Jun 2021 16:28:07 +0000
  • Ironport-hdrordr: A9a23:0Xi4xK+LRZLJpZa66HRuk+AiI+orL9Y04lQ7vn2ZKSY5TiVXra CTdZUgpHvJYVMqMk3I9uruBEDtex3hHP1OkOws1NWZLWrbUQKTRekP0WKL+Vbd8kbFh4xgPM lbEpSXCLfLfCVHZcSR2njFLz73quP3j5xBho3lvglQpRkBUdAG0+/gYDzraXGfQmN9dPwEPa vZ3OVrjRy6d08aa8yqb0N1JdQq97Xw5evbiQdtPW9e1DWz
  • Ironport-sdr: ioagPGl7N+nv4jQXrGQ8gPeLSnUJaM+5K600rqCKIlW7Up7/EfwrX/nB+vrOX5VxhgAjblbGba UohJqLxAyJwT0ZYyYeOD0ybCP4el9Z/162MbUojLiEIZsjeKLXsl0Nf0TNkPPmvhvZ2ICcvdMW ddBBg34SGHs4ixIOOB0iHWHyY/vffVUEDvbRvYR+UVP+2+jydggPtLKhU83yT4oqGtwovCo3h5 /GFOJPZTVzeFRfl5GKlEzSeYxwTziEIjNRNgeMBeNaBKa3B7c+1XAkgfw+enoBzK66VdrRHi4A ByM=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 22/06/2021 17:10, Jan Beulich wrote:
> On 22.06.2021 17:39, Andrew Cooper wrote:
>> This reverts commit aad7b5c11d51d57659978e04702ac970906894e8.
>>
>> The change from OvmfX64 to OvmfXen causes a change in behaviour, whereby
>> OvmfXen maps its shared info page at the top of address space.  When trying 
>> to
>> migrate such a domain, XENMEM_maximum_gpfn returns a very large value.  This
>> has uncovered multiple issues:
>>
>>  1) The userspace hypercall wrappers truncate all return values to int on
>>     Linux and Solaris.  This needs fixing in Xen.
>>  2) 32bit toolstacks can't migrate any domain with RAM above the 2^40 mark,
>>     because of virtual address constraints.  This needs fixing in OVMF.
> And I suspect even that presently enforce boundary of 2^40 is actually
> too high, and things still wouldn't work when getting close. At the
> very least the tool stack then depends on a fairly big chunk of memory
> (2^30 bytes) to be available in one single, virtually contiguous piece.
> Iirc 32-bit Linux can be configured to not even leave this much space
> for user mode.

I tested it once during Migration v2 development, and it worked for me,
but I do expect that that is as much testing as it has had since...

A 3G/1G split is the default under multiple 32bit kernels, and the
allocation is made right at the start, so there is a reasonable chance
of finding space.  After all, it only needs 4k alignment.

Whether ASLR has changed the chances in the meantime remains to be seen,
but honestly - 32bit toolstacks on x86 really don't exist in production
any more, and Arm still hasn't implemented logdirty support, so the
limit has little practical consequence.

~Andrew




 


Rackspace

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