Messages in this thread | | | Date | Thu, 26 Jul 2007 10:44:53 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [PATCH] Check for compound pages in set_page_dirty() |
| |
On Thu, 26 Jul 2007, Hugh Dickins wrote:
> I expect we could take that approach in the current kernel, yes > (though it would put those compound tests into the bio code that > Jens was preferring to remove). But I think not if your variable > page_cache_size went in: imagine an mmap of the tail component page > of an order-1 page_cache_size page, and that pte only being dirtied: > wouldn't set_page_dirty on that page need to redirect to the head?
We would need to redirect all of the page state determinations and changes to the head page anyways. So the memory.c code would have to deal with two struct page pointers: One to the head where the state is kept and one to the tail page that contains the actual chunk of data we are interested in. The tail page pointer is only used for address determinations.
VM functions that manipulate the state of a page (like set_page_dirty) could rely on only getting page heads.
- 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/
| |