Messages in this thread | | | Date | Wed, 9 Dec 2009 17:12:19 +0100 | From | Andrea Arcangeli <> | Subject | Re: [PATCH 2/9] ksm: let shared pages be swappable |
| |
On Wed, Dec 09, 2009 at 09:43:31AM +0900, KAMEZAWA Hiroyuki wrote: > cache-line ping-pong at fork beacause of page->mapcount. And KSM introduces > zero-pages which have mapcount again. If no problems in realitsitc usage of > KVM, ignore me.
The whole memory marked MADV_MERGEABLE by KVM is also marked MADV_DONTFORK, so if KVM was to fork (and if it did, if it wasn't for MADV_DONTFORK, it would also trigger all O_DIRECT vs fork race conditions too, as KVM is one of the many apps that uses threads and O_DIRECT - we try not to fork though but we sure did in the past), no slowdown could ever happen in mapcount because of KSM, all KSM pages aren't visibile by child.
It's still something to keep in mind for other KSM users, but I don't think mapcount is big deal if compared to the risk of triggering COWs later on those pages, in general KSM is all about saving tons of memory at the expense of some CPU cycle (kksmd, cows, mapcount with parallel forks etc...).
| |