Page scrubbing
PATCH 1/1 Page scrubbing
Hi!
Make scrub_heap_pages() print from where to where
it scrubs pages.
This patch uncovers a strange behaviour on 32bit.
On 64bit I get this:
(XEN) Scrubbing Free RAM 0xffff830000100000 -> 0xffff83003fff0000: ....done.
On 32bit I get this:
(XEN) Scrubbing Free RAM 0xffc00000 ->0xdefb0000: .............................done.
On 64bit the scrubber goes up, but on 32bit it goes down. Is this behaviour expected?
Signature · 12 lines
AMD Saxony, Dresden, Germany Operating System Research Center Legal Information: AMD Saxony Limited Liability Company & Co. KG Sitz (Geschäftsanschrift): Wilschdorfer Landstr. 101, 01109 Dresden, Deutschland Registergericht Dresden: HRA 4896 vertretungsberechtigter Komplementär: AMD Saxony LLC (Sitz Wilmington, Delaware, USA) Geschäftsführer der AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
xen/common/page_alloc.c +3 -1
@@ -596,7 +596,9 @@ void __init scrub_heap_pages(void)if ( !opt_bootscrub )return ; -printk ("Scrubbing Free RAM: " ); +printk ("Scrubbing Free RAM 0x%p -> 0x%p: " , +page_to_virt (mfn_to_page (first_valid_mfn)), +page_to_virt (mfn_to_page (max_page)));for ( mfn = first_valid_mfn; mfn < max_page; mfn++ ) {
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel
The printk() is printing nonsense for x86/32, as most pages do not have a permanent mapping in Xen, and hence no valid virtual address. Page_to_virt() on such pages is not allowed.
-- Keir
Quoted 22 lines · Christoph Egger
Hi!
Make
scrub_heap_pages()print from where to where
it scrubs pages.Signed-off-by Christoph Egger <[email protected]>This patch uncovers a strange behaviour on 32bit.
On 64bit I get this:(XEN) Scrubbing Free RAM
0xffff830000100000->0xffff83003fff0000: ....done.On 32bit I get this:
(XEN) Scrubbing Free RAM
0xffc00000->0xdefb0000: .............................done.On 64bit the scrubber goes up, but on 32bit it goes down. Is this behaviour expected?