Thread (49 messages) 49 messages, 6 authors, 2011-06-23

Re: [PATCH 2/2 V2] ksm: take dirty bit as reference to avoid volatile pages scanning

From: Nai Xia <hidden>
Date: 2011-06-22 04:48:02
Also in: lkml

On Wednesday 22 June 2011 08:35:36 Chris Wright wrote:
* Nai Xia (nai.xia@gmail.com) wrote:
quoted
(Sorry for repeated mail, I forgot to Cc the list..)

On Wednesday 22 June 2011 06:38:00 you wrote:
quoted
* Nai Xia (nai.xia@gmail.com) wrote:
quoted
Introduced ksm_page_changed() to reference the dirty bit of a pte. We clear 
the dirty bit for each pte scanned but don't flush the tlb. For a huge page, 
if one of the subpage has changed, we try to skip the whole huge page 
assuming(this is true by now) that ksmd linearly scans the address space.
This doesn't build w/ kvm as a module.
I think it's because of the name-error of a related kvm patch, which I only sent
in a same email thread. http://marc.info/?l=linux-mm&m=130866318804277&w=2
The patch split is not clean...I'll redo it.
It needs an export as it is.
ERROR: "kvm_dirty_update" [arch/x86/kvm/kvm-intel.ko] undefined!
Oops, yes, I forgot to do that! I'll correct it in the next submission.

Thanks,
Nai
Although perhaps could be done w/out that dirty_update altogether (as I
mentioned in other email)?
quoted
quoted
quoted
A NEW_FLAG is also introduced as a status of rmap_item to make ksmd scan
more aggressively for new VMAs - only skip the pages considered to be volatile
by the dirty bits. This can be enabled/disabled through KSM's sysfs interface.
This seems like it should be separated out.  And while it might be useful
to enable/disable for testing, I don't think it's worth supporting for
the long term.  Would also be useful to see the value of this flag.
I think it maybe useful for uses who want to turn on/off this scan policy explicitly
according to their working sets? 
Can you split it out, and show the benefit of it directly?  I think it
only benefits:

p = mmap()
memset(p, $value, entire buffer);
...
very slowly (w.r.t scan times) touch bits of buffer and trigger cow to
break sharing.

Would you agree?

thanks,
-chris
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help