[Bug 61182] r600g causes KWin crashes with kernel 3.8

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

 



Comment # 34 on bug 61182 from
Thanks, Alex, for the clear restatement.

Naively, I think of two C/UNIX conventions. For allocations that can either
succeed or fail, typically the result is a pointer which is NULL for failure --
eg. malloc(3)).  For allocations that can partially succeed, the result is the
amount successfully processed (think write(2) which returns the length actually
transferred).

It seems to me that for allocating address space in the VRAM window
(aperture?), success can partial, and anything that deals with that window
needs to be aware that accessing some object may require piecewise operations,
punctuated by adjustment of the mapping.

In other words, this case doesn't sound pathological; it should be handled as a
normal case.

I'm not saying that comment #29 is wrong.  I'm saying that the existing code
ought to have been written to handle this case.  Clearly one solution is to
replace the code as suggested.  But fixing the code ought to be feasible too. 
Are there other lurking bugs where code assumes addressability?

I reiterate: I'm not knowledgeable about modern video architectures or about X
server architectures.

Footnote: Why do I think that VRAM windows cannot always map the whole VRAM? 
Because video cards now routinely have gigabytes of VRAM and 32-bit address
spaces for x86 machines cannot spare enough to allocate for that much VRAM
(ignoring PAE).


You are receiving this mail because:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux