Re: CVS commit: src/sys/arch

2011-09-20 Thread Jean-Yves Migeon

On 20.09.2011 02:12, Jean-Yves Migeon wrote:

Module Name:src
Committed By:   jym
Date:   Tue Sep 20 00:12:25 UTC 2011

Modified Files:

[snip]

Log Message:
Merge jym-xensuspend branch in -current. ok bouyer@.

Goal: save/restore support in NetBSD domUs, for i386, i386 PAE and amd64.

[snip]

XXX PAE suspend does not work in amd64 currently, due to (yet again!)
page validation issues with hypervisor. Will fix.


Got it, pool cache invalidation is not working as expected during save. 
I remember discussing this matter with Mindaugas a while back, and due 
to pool_cache(9) limitations back then the code was commented out (see 
the #if 0 ... #endif part in pool_cache_invalidate).


I had to implement a pool_cache_invalidate_local(), but this wasn't 
technically appreciated by many as it made pool_cache abstraction leaky 
(and they were right)


I'll discuss this matter again, I think I have an alternative solution 
for that one. I may hit a pmf(9) limitation though :/


Anyway, for the reckless people that already tried my code and reported 
breaks: yes, I am aware of that specific issue :)


--
Jean-Yves Migeon
jeanyves.mig...@free.fr


Re: CVS commit: src/sys/arch

2011-09-20 Thread Matt Thomas

On Sep 20, 2011, at 3:00 PM, Jean-Yves Migeon wrote:

 On 20.09.2011 02:12, Jean-Yves Migeon wrote:
 Module Name: src
 Committed By:jym
 Date:Tue Sep 20 00:12:25 UTC 2011
 
 Modified Files:
 [snip]
 Log Message:
 Merge jym-xensuspend branch in -current. ok bouyer@.
 
 Goal: save/restore support in NetBSD domUs, for i386, i386 PAE and amd64.
 [snip]
 XXX PAE suspend does not work in amd64 currently, due to (yet again!)
 page validation issues with hypervisor. Will fix.
 
 Got it, pool cache invalidation is not working as expected during save. I 
 remember discussing this matter with Mindaugas a while back, and due to 
 pool_cache(9) limitations back then the code was commented out (see the #if 0 
 ... #endif part in pool_cache_invalidate).
 
 I had to implement a pool_cache_invalidate_local(), but this wasn't 
 technically appreciated by many as it made pool_cache abstraction leaky (and 
 they were right)
 
 I'll discuss this matter again, I think I have an alternative solution for 
 that one. I may hit a pmf(9) limitation though :/

Maybe add pmf hook for cpu device_t in mi_cpu_attach