From: Scott Baker <YoshiHQ@Juno.com>
To: xen-devel@lists.xensource.com
Subject: Logging External Page Writes for a Given Domain
Date: Sun, 19 Feb 2006 00:31:55 -0700 [thread overview]
Message-ID: <43F81EEB.40108@Juno.com> (raw)
Hello, all:
I'm new to Xen developing, and am hoping that you experts can help me
out here (or at least point me in the right direction).
My team's goal is to be able to log all writes that are made to any
memory page of a certain domain, except those writes that the domain
itself makes. That is to say, if Domain 2 is the domain we want to log
page writes for (where logging is capturing what was written and its
location), then we want to be able to log all the writes made by any
domain /except/ Domain 2 -- i.e., writes made to shared pages that
belong to Domain 2.
Ideally, we would like to be able to have these writes for domain /x/
detected and trap to a process running on Domain 0, with minimal VMM
modification. Preferably, the method used would only cause significant
overhead when a write is made from outside domain /x/ (rather than for
every write /x/ and everyone else makes), but I'm not picky about
efficiency at the moment.
The rough idea we have at this point is to make the monitor process on
Domain 0 mark all the pages of Domain /x/ as read-only (while
remembering which are actually read-only). Then, when a write-fault
occurred, the VMM would pass it on to the monitoring process, which
would then let Domain /x/ finish the write, the monitor would record
what was written, and let everything continue as normal.
Unfortunately, I'm not sure how that vague sketch fits into Xen. For
the page table read-only flag setting, would we use the
update_va_mapping() hypercall? And, how would the monitoring process
let Domain /x/ finish the write and then get control back? (Or, does
the VMM know what is about to be written, so we could just pass that to
the monitoring process?) Finally, where in Xen's code would we have to
go to modify the fault-handling behavior so the callback could be made?
Hope I'm clear, and hope you can help a newbie!
Thanks,
Scott
next reply other threads:[~2006-02-19 7:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-19 7:31 Scott Baker [this message]
2006-02-20 5:46 ` Logging External Page Writes for a Given Domain Anthony Liguori
2006-02-21 20:13 ` Scott Baker
2006-02-21 20:17 ` Anthony Liguori
2006-02-21 20:40 ` Scott Baker
2006-02-28 0:09 ` Scott Baker
2006-02-28 0:17 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43F81EEB.40108@Juno.com \
--to=yoshihq@juno.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.