Messages in this thread | | | Date | Mon, 17 Apr 2006 10:00:02 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [PATCH 5/5] Swapless V2: Revise main migration logic |
| |
On Mon, 17 Apr 2006, KAMEZAWA Hiroyuki wrote:
> > Note that there is an issue with your approach. If a migration entry is > > copied during fork then SWP_MIGRATION_WRITE must become SWP_MIGRATION_READ > > for some cases. Would you look into fixing this? > Thank you for pointing out the issue. > > In my understanding, copy_page_range() is used at fork(). > This finally calls copy_one_pte() and copies ptes one by one.
Right this is one spot but the ptes in the original mm must also be marked read. Are there any additional races?
> Maybe, I'll do like this. > == > 438 if (unlikely(!pte_present(pte)) { > 439 if (!pte_file(pte)) { > 440 swap_duplicate(pte_to_swp_entry(pte)); > entry = pte_to_swp_entry(pte); > #ifdef CONFIG_MIGRATION > if (is_migration_entry(entry)) { > ......always copy as MIGRATION_READ. > } > #endif > 441 /* make sure dst_mm is on swapoff's mmlist. */
Looks okay for this one location.
- 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/
| |