Messages in this thread | | | Date | Mon, 14 Apr 2003 17:57:48 +0200 | From | Antonio Vargas <> | Subject | Re: Quick question about hyper-threading (also some NUMA stuff) |
| |
On Mon, Apr 14, 2003 at 08:39:05AM -0700, Martin J. Bligh wrote: > > Perhaps it would be good to un-COW pages: > > > > 1. fork process > > 2. if current node is not loaded, continue as usual > > 3. if current node is loaded: > > 3a. pick unloaded node > > 4b. don't do COW for data pages, but simply copy them to node-local memory > > > > This way, read-write sharings would be replicated for each node. > > Sharing read-write stuff is a total nightmare - you have to deal with > all the sync stuff, and invalidation. In real-life scenarios, I really > doubt the complexity is worth it - read-only is quite complex enough, > thanks ;-)
I mean MAP_PRIVATE stuff, not MAP_SHARED.
> Theoretically, if you had some pages that were predominatly read-only, > and very occasionally got written to, it *might* be worth it. > But probably not ;-) > > > Also, keeping an per-node active-page-list and then forcefully copying > > the page to a node-local page-frame when accesing a page which is > > active on another node could be good. > > Not sure what you mean by this. wrt the active-page list here's a per-node > LRU already. Or you mean something on a per-address-space basis?
Yes, I meant a per-node active LRU. I'd better get a closer look at what's already done ;)
> Yes, faulting the pages in lazily from another node as we touch them is > probably the right thing to do. Giving secondary copies some LRU disadvantage > (perhaps always keeping them on the inactive list, never the active), > would be fun, but then you get into the whole "who is the primary owner, > and what do we do when they ditch the page" complexity. The node bitmap > I suggested earlier might help. But I'd rather keep it simple at first ;-) > > M.
Antonio. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |