Re: 2.0 chokes on clone() w/ heavy concurrent m{re,un}map()

Wolfram Gloger (Wolfram.Gloger@dent.med.uni-muenchen.de)
Sat, 20 Jul 1996 15:22:54 +0200


Hi,

This is an update on my report from about a month ago that I could get
the 2.0 kernel to say 'put_page: page already exists' and sometimes
`Oops' when using anonymous m{un,re}map() concurrently from several
clone()d threads.

After the mm changes in patch 2.0.6 and 2.0.8 I tried again. The good
news is that the `putpage' diagnostic seems to have gone away, and the
problem in general seems to be harder to provoke now (more threads,
more swapping). However, I saw the following on two completely
different machines:

Jul 20 14:53:40 linux: Internal error: bad swap-device
Jul 20 14:53:41 linux: Trying to free nonexistent swap-page

when running the test program with 32 concurrent threads, and total
memory usage at the swapping threshold. Within the application, this
resulted in memory corruption. One machine was running 2.0.6, and the
other 2.0.8. Hardware problems seem very unlikely.

Regards,
Wolfram.

-- 
`Surf the sea, not double-u three...'
Wolfram.Gloger@dent.med.uni-muenchen.de, Gloger@lrz.uni-muenchen.de