2003-03-12 22:39:11

by Dave McCracken

[permalink] [raw]
Subject: [PATCH 2.5.64-mm5] objrmap fix for nonlinear


This patch should fix the remap_file_pages problem for object-based rmap.
I added a function that converts an object-based page to a pte_chain-based
page. It's a little tricky because it has to preallocated all the
pte_chains it needs before taking the lock since the page can't be allowed
outside the lock in an intermediate state. Fortunately I know how many
pte_chains are needed in advance.

I also condensed some of the common code and added comments. One side
effect is I removed taking the page_table_lock during the pte lookups.
I've convinced myself that anyone else trying to touch those areas will
block on the locks I already hold. It survives the abuse test I've thrown
at it.

Dave McCracken

======================================================================
Dave McCracken IBM Linux Base Kernel Team 1-512-838-3059
[email protected] T/L 678-3059


Attachments:
(No filename) (925.00 B)
objfix-2.5.64-mm5-1.diff (10.20 kB)
Download all attachments

2003-03-12 23:08:39

by Dave McCracken

[permalink] [raw]
Subject: Re: [PATCH 2.5.64-mm5] objrmap fix for nonlinear


--On Wednesday, March 12, 2003 18:16:01 -0500 Rik van Riel
<[email protected]> wrote:

> Could I get a copy of that abuse test ? ;))

My abuse test is to take a dual 200Mhz PentiumPro w/ 128M memory and do a
'make -j 50 bzImage' on a kernel tree. So far it's proven to find some
fairly low-probability races.

Dave

======================================================================
Dave McCracken IBM Linux Base Kernel Team 1-512-838-3059
[email protected] T/L 678-3059

2003-03-12 23:05:27

by Rik van Riel

[permalink] [raw]
Subject: Re: [PATCH 2.5.64-mm5] objrmap fix for nonlinear

On Wed, 12 Mar 2003, Dave McCracken wrote:

> I've convinced myself that anyone else trying to touch those areas will
> block on the locks I already hold. It survives the abuse test I've thrown
> at it.

Could I get a copy of that abuse test ? ;))

(if possible to riel-at-redhat.com, which I'm not throwing
out to the spammers since I don't control the spam filtering
for that address)

thanks,

Rik (who wants to port some of the partial object rmap code to 2.4)