All of lore.kernel.org
 help / color / mirror / Atom feed
* open-coded page list manipulation in shadow code
@ 2015-01-26 16:35 Jan Beulich
  2015-01-27 10:50 ` Tim Deegan
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Beulich @ 2015-01-26 16:35 UTC (permalink / raw)
  To: Tim Deegan; +Cc: xen-devel

Tim,

in the course of adding >16Tb support to the hypervisor, I ran into
issues with you having added several open-coded page list accesses
while breaking up non-order-0 allocations there. I looked at that
code for quite a while, but wasn't really able to figure how to
properly convert these. In particular I'm struggling with the list
terminations (would using NULL for PAGE_LIST_NULL be correct
when using ordinary struct list_head-s for struct page_info's list
member?) and the implications of this comment

    /* Page lists don't have pointers back to the head structure, so
     * it's safe to use a head structure on the stack to link the pages
     * together. */

in shadow_alloc(), but then again I also didn't look very closely at
the other places that also fail to compile.

To help myself test the new code, I invented a shadow stub which
provides just enough functionality to build and not crash with all
the other shadow code compiled out. I wonder whether such a
build mode might actually be useful for other purposes, and hence
whether it might be worthwhile extracting that from the patch into
a standalone one.

Thanks, Jan

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

end of thread, other threads:[~2015-01-30 10:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-26 16:35 open-coded page list manipulation in shadow code Jan Beulich
2015-01-27 10:50 ` Tim Deegan
2015-01-29 17:30   ` Tim Deegan
2015-01-30  8:36     ` Jan Beulich
2015-01-30 10:20       ` Tim Deegan
2015-01-30 10:26         ` Jan Beulich

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.