failed to set mtrr: invalid argument

Robert Noland rnoland at FreeBSD.org
Tue May 19 19:31:35 UTC 2009


On Tue, 2009-05-19 at 09:57 -0700, Chris H wrote:
> Quoting Dimitry Andric <dimitry at andric.com>:
> 
> > On 2009-05-19 08:40, Chris H wrote:
> >> I see. Well I'm specifically using the nv driver. Here's another
> >> attempt to provide the relevant info:
> >
> > I could not find the error message from $subject in these logs.  Where
> > is it? :)
> 
> If I had found it, I would have better known what direction to travel
> to overcome it. :)
> Aparently Xorg wants to keep it a secret - I saw no "argument".

This isn't actually Xorg per se... It is when we attempt to set an MTRR
range via ioctl on /dev/mem.  The ultimate return value is EINVAL which
just gets displayed as invalid argument.

> The closest possible answer I can come up with, involves "write combining"
> and provinding some information in /proc/mtrr
> But I only have /proc and nothing in it. Thought about echo(1)ing
> the information to mtrr. But don't understand the whole thing well
> enough to /dare/ do it. I only know it involves something in this
> area:
> 
> 0xfd000000/16777216, 0xf0000000/134217728, 0xfa580000/524288
> 
> out of the Xorg log. I'm also not sure if GENERIC knows how to handle
> mtrr (Memory Type Range Registers) ideally. I hadn't built world/kernel
> yet because there are also some issues on the ATA ports that need to be 
> resolved. I started a theread on this earlier.
> 
> Thank you for taking the time to respond.

You can do a "memcontrol list" which will display the memory regions and
their caching method.  Likely what you will find is a "global" MTRR
which is set to write-back.  We don't have the ability to split regions
and we aren't allowed to overlap write-combine on top of write-back, so
any attempt to set MTRR will fail.  The specific failure is most likely
when X tries to set write-combine on the framebuffer, which in your case
looks like 0xf0000000/134217728.

Again, this shouldn't prevent X from working...  It is just a
performance issue.

robert.

> --Chris H
> 
> >
> 
> 
> 
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
-- 
Robert Noland <rnoland at FreeBSD.org>
FreeBSD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20090519/9fb04a50/attachment.pgp


More information about the freebsd-stable mailing list