All of lore.kernel.org
 help / color / mirror / Atom feed
* Balloons, crash-dumps, populate-on-demand, and shared zero pages
@ 2009-08-20 10:18 George Dunlap
  2009-08-20 10:39 ` Steven Smith
  0 siblings, 1 reply; 4+ messages in thread
From: George Dunlap @ 2009-08-20 10:18 UTC (permalink / raw)
  To: xen-devel, Paul Durrant, Keir Fraser, Steven Smith,
	Gianluca Guida <gianluca.g>

Paul recently pointed out that a side-effect of having the balloon
driver replace guest p2m memory with empty space is that when Windows
does a crash dump (perhaps Linux too), when it reaches the pages in
the balloon, it will cause a page fault, which can cause cascading
crashes and prevent any useful information from reaching the dump
file.

After thinking about it for a bit, I wondered if it might be better to
replace the "populate-on-demand" concept with a
"shared-zero-populate-on-demand".  Reads to a PoD page would always
map to a read-only shared zero page (or superpage, as the case may
be).  We can change the balloon driver behavior to fill the p2m
entries for the balloon with zPoD entries instead of empy p2m entries.
 As a side-effect, the balloon driver no longer would need to
explicitly fill in the p2m entries with ram when deflating the
balloon; the tools already tell Xen about memory target increases, so
it can increase the PoD "cache"; the balloon driver would simply need
to free memory back to the kernel and it the balloon will be populated
on-demand by the guest.

Any thoughts?

 -George

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-08-20 12:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-20 10:18 Balloons, crash-dumps, populate-on-demand, and shared zero pages George Dunlap
2009-08-20 10:39 ` Steven Smith
2009-08-20 10:56   ` Paul Durrant
2009-08-20 12:49     ` George Dunlap

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.