[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] what happens when a PoD page is touched?
> > Alternatively, I balloon down 1MB of memory at a time - if I could > > set aside 1MB of memory that was filled with 0's and could somehow > > tell xen to use that memory first then it might speed things up too > > yes? > > > > Why can't you just use an allocator that doesn't touch memory in the majority > of cases. MmAllocatePagesForMdlEx() is available post 2k3-sp1 so it's really > only XP that would be suffering sweeps anyway I can't guarantee that all the pages I hand back are clean, and testing shows that a small number of them aren't. In theory, anything that cares about the data in its pages (eg an encrypted FS) would have cleaned them before handing them back to windows but I'd rather clean them first. Is there a way to tell if a page is currently populated? That would allow me to only clean populated pages. > and you may be able to mitigate > that by ballooning down in smaller chunks such that you fill the PoD cache > just enough to avoid a sweep during in the next bunch of allocations. I still can't quite get my head around why this happens at all... I thought it would go like this: 1. Allocate 1MB of memory 2. Still under our limit so xen populates the pages when Windows clears them 3. Hand them back to xen 4. Repeat I'm doing that in a tight loop very early in boot. If I keep handing back pages (and thus reducing my populated page count) why am I hitting any PoD limit at all and invoking the page scavenging code? Windows isn't doing anything else at this point, and even if it was, I'm the boot driver so it has to wait for me before the boot can progress so it's not like it would be consuming gigabytes of memory. Thanks James _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |