Re: [2.6.25-git18 => 2.6.26-rc1-git1] Xorg crash with xf86MapVidMemerror

From: H. Peter Anvin
Date: Thu May 08 2008 - 20:53:28 EST


Venki Pallipadi wrote:

One of the reason for heristic was to get proper type for /dev/mem maps for WB
region (ACPI and BIOS area). /dev/mem checks to see the mtrr type of the start
address and starts with that type for the request. As long as there are no
other conflict in PAT list, we can give WB to this /dev/mem request. Not
having this heuristic we will have to most probably default to UC.

When there are overlapping PAT list entries, the mtrr_lookup does not matter
as we have to inherit things from those PAT entries or conflicting with them.


Okay, now here is something...

I don't believe it is kosher for mmap() to behave differently if we called it once or called it twice.

Therefore, the proper behaviour in the case of a range that covers multiple types is to break it down into multiple requests each mapped with the appropriate type, as if mmap had been called separate on each subrange. In the limiting case, yes, this does mean the subranges can be individual pages, but such an outcome is vanishingly improbable in practice.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/