[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnumach - Page fault error

From: Richard Braun
Subject: Re: gnumach - Page fault error
Date: Tue, 3 Oct 2017 10:54:12 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, Oct 03, 2017 at 12:14:39AM +0200, Samuel Thibault wrote:
> Jens Arm, on lun. 02 oct. 2017 19:20:57 +0200, wrote:
> > Here is the trace to the error in the attached PNG.
> > Is is reproduced with the mini.iso from Samuel.
> > The trace shown after I type "trace" is the same as shown automatically.
> Ok, it looks like traces I have already seen in our buildd VMs.  It
> means the IDE driver is trying to push data to disk some memory which
> doesn't exist any more.  I was wondering whether perhaps it's just that
> the IDE layer misses putting some reference to make sure that the memory
> doesn't get swapped out while being written to disk.
> Richard, does that ring a bell?

It's possible. I didn't work much on the IDE driver because it already
did what was required for highmem support, but I may have been wrong.
The code in linux/dev/glue/block.c:device_write uses vm_map_enter with
a NULL object, which normally prevents paging, but I see some scary
code in vm_map_enter that may merge the new mapping with another with
a valid object. I wonder if map entry merging should just be disabled
completely, as it wouldn't be the first time it caused problems, and
isn't that useful considering how unoptimized the VM system is in
general, and that scalable data structures are now used.

I don't have time to look at the details, but I could see a mistake
right at the beginning of linux/dev/glue/block.c:device_write, where the
local vm_map_copy object may be discarded while still uninitialized.
Probably unrelated but still noteworthy.

Richard Braun

reply via email to

[Prev in Thread] Current Thread [Next in Thread]