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

Re: [PATCH] x86/pod: Do not fragment PoD memory allocations


  • To: Elliott Mitchell <ehem+xen@xxxxxxx>
  • From: George Dunlap <George.Dunlap@xxxxxxxxxx>
  • Date: Thu, 28 Jan 2021 22:42:27 +0000
  • Accept-language: en-US
  • 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=Im7e75RtKVYo17MpKBj3FecmXrQAG9wI2+1Nc9ygZ3Y=; b=aT4oP8bWC0Pzgub9auNEFxdOsCZmagvpdlKAihFUpoFhVVegF1Jn5XrFG2RYa7sxEXaCyG1+2DWjqIl9bM6wC1ta/Swt4dITa8/g12CkAuRa9/io36MQ5WsI5pseJDbjgoEZBwih4fAj4I6tKAL+PNjfGSMiJoTmZM0mNXrjD+vUnptRrNAFwCpRXOsU5RAw8chUQvK3QSgkiYRy7h/SYkas+2mnDwNasKn+dXxFnCRDVkOR5x657cAh9F99D7ZJNE6Td4JqqJ2ybBXzuOEIfuwPwd9j3ytqVFdCLqKgYuFJ7Co9dDH6V6NP/VEuDQ5TE9GTtaSzYHdJvWJx3UKdTg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EeD5huCDWSQLbS2bzqx3ZbnsVaGKdFd8oHJjLZV6vqTkbO6xulStHZGSSjlaXlwNE0ZVZxk6CIC73pTvEONln6nVz9dqeOoL53BMID12mAdC7FmcZutEHccNjZ5aZhzzHmPbQeIrrHPnruz4FX2vavsRnA+SqGm3VMkUwKKDebxHlUbglc2bg7DnXBzkaW+ZVDMWfkQejiMA/cstwSd610gkTBd/71kCegoqFITTAIgbkbpqU7UlNrViwZFGyycquEKiAgAafE7gSKnAOmciyMr5Xk9G06swgyfEBPJs+kQ/yU07/qpYtZYX5OzATY41caEtim5ULoVm6IvXpaS2yA==
  • Authentication-results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, "open list:X86" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Delivery-date: Thu, 28 Jan 2021 22:42:56 +0000
  • Ironport-sdr: QCxzb88PYO6hAf/T1ojTfgrk3D2msUiAeyu2wO1prfzzg02UxoMCh1g3kkVfUzBgVfA0W3E1s4 7JIfO6HlA932hx8QlBqQDAlkFehXr+z9AkkPNeSmmnTFbe0Cs/h2JuNT2SAV9xbtlq7VO26zqY dGKRsBvmORUGbieaVlU7oazaStdHcmAl7OSByKYEPwGt9WvQLz4LE9xlVX8Ob64D6xLyrM54Ab UeuJ5I7OPNHaaGLF6DgQcvA0i0bzPHfcAHR0eyeUzyrGZ58ZViBnHXxc1hgl0qAWRqrfebx8Sh WWM=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHW8qXhfghyfjZCb0iw2DUJHGLmxKo4G2OAgACDU4CAASMUgIAAcJSAgAELJICAAK7PgIAADiAAgAAXqgCAAMbHgIAAiAKAgABHgwA=
  • Thread-topic: [PATCH] x86/pod: Do not fragment PoD memory allocations


> On Jan 28, 2021, at 6:26 PM, Elliott Mitchell <ehem+xen@xxxxxxx> wrote:
> 
> On Thu, Jan 28, 2021 at 11:19:41AM +0100, Jan Beulich wrote:
>> On 27.01.2021 23:28, Elliott Mitchell wrote:
>>> On Wed, Jan 27, 2021 at 09:03:32PM +0000, Andrew Cooper wrote:
>>>> So.?? What *should* happen is that if QEMU/OVMF dirties more memory than
>>>> exists in the PoD cache, the domain gets terminated.
>>>> 
>>>> Irrespective, Xen/dom0 dying isn't an expected consequence of any normal
>>>> action like this.
>>>> 
>>>> Do you have a serial log of the crash??? If not, can you set up a crash
>>>> kernel environment to capture the logs, or alternatively reproduce the
>>>> issue on a different box which does have serial?
>>> 
>>> No, I don't.  I'm setup to debug ARM failures, not x86 ones.
>> 
>> Then alternatively can you at least give conditions that need to
>> be met to observe the problem, for someone to repro and then
>> debug? (The less complex the better, of course.)
> 
> Multiple prior messages have included statements of what I believed to be
> the minimal case to reproduce.  Presently I believe the minimal
> constraints are, maxmem >= host memory, memory < free Xen memory, type
> HVM.  A minimal kr45hme.cfg file:
> 
> type = "hvm"
> memory = 1024
> maxmem = 1073741824
> 
> I suspect maxmem > free Xen memory may be sufficient.  The instances I
> can be certain of have been maxmem = total host memory *7.

Can you include your Xen version and dom0 command-line?

For me, domain creation fails with an error like this:

root@immortal:/images# xl create c6-01.cfg maxmem=1073741824
Parsing config from c6-01.cfg
xc: error: panic: xc_dom_boot.c:120: xc_dom_boot_mem_init: can't allocate low 
memory for domain: Out of memory
libxl: error: libxl_dom.c:593:libxl__build_dom: xc_dom_boot_mem_init failed: 
Cannot allocate memory
libxl: error: libxl_create.c:1576:domcreate_rebuild_done: Domain 9:cannot 
(re-)build domain: -3
libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain 9:Non-existant 
domain
libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 9:Unable to 
destroy guest
libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 9:Destruction of 
domain failed

This is on staging-4.14 from a month or two ago (i.e., what I happened to have 
on a random test  box), and `dom0_mem=1024M,max:1024M` in my command-line.  
That rune will give dom0 only 1GiB of RAM, but also prevent it from 
auto-ballooning down to free up memory for the guest.

 -George


 


Rackspace

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