Messages in this thread | | | Date | Wed, 7 Mar 2007 01:26:38 -0800 | From | Andrew Morton <> | Subject | Re: [patch 4/6] mm: merge populate and nopage into fault (fixes nonlinear) |
| |
On Wed, 7 Mar 2007 10:18:23 +0100 Nick Piggin <npiggin@suse.de> wrote:
> On Wed, Mar 07, 2007 at 01:07:56AM -0800, Andrew Morton wrote: > > On Wed, 07 Mar 2007 09:51:57 +0100 Miklos Szeredi <miklos@szeredi.hu> wrote: > > > > > > > Dirty page accounting doesn't work either on > > > > > non-linear mappings > > > > > > > > It doesn't? Confused - these things don't have anything to do with each > > > > other do they? > > > > > > Look in page_mkclean(). Where does it handle non-linear mappings? > > > > > > > OK, I'd forgotten about that. It won't break dirty memory accounting, > > but it'll potentially break dirty memory balancing. > > > > If we have the wrong page (due to nonlinear), page_check_address() will > > fail and we'll leave the pte dirty. That puts us back to the pre-2.6.17 > > algorithms and I guess it'll break the msync guarantees. > > > > Peter, I thought we went through the nonlinear problem ages ago and decided > > it was OK? > > msync breakage is bad, but otherwise I don't know that we care about > dirty page writeout efficiency.
Well. We made so many changes to support the synchronous dirty-the-page-when-we-dirty-the-pte thing that I'm rather doubtful that the old-style approach still works. It might seem to, most of the time. But if it _is_ subtly broken, boy it's going to take a long time for us to find out.
> But I think we discovered that those msync changes are bogus anyway > becuase there is a small race window where pte could be dirtied without > page being set dirty?
Dunno, I don't recall that. We dirty the page before the pte... - 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/
| |