[PATCH] DRI2: handle drawable destruction properly at DRI2SwapComplete time
Simon Thum
simon.thum at gmx.de
Mon Jan 25 12:57:55 PST 2010
Jesse Barnes wrote:
> On Mon, 25 Jan 2010 20:21:12 +0100
> Simon Thum <simon.thum at gmx.de> wrote:
>
>> Jesse Barnes wrote:
>>> Simon reported an issue with kwin that turned out to be a general
>>> problem. If a drawable goes away before its swap completes, we'll
>>> try to free it up. However, we free it improperly, which causes a
>>> server crash in DRI2DestroyDrawable. Fix that up by splitting the
>>> free code out and calling it from DRI2SwapComplete.
>>>
>>> Tested-by: Simon Thum <simon.thum at gmx.de>
>> Note I didn't test it, maybe you're missing out someone? But feel free
>> to add my
>> Reviewed-by: Simon Thum <simon.thum at gmx.de>
>> if there's no concurrency problem with
>> xfree(pPriv);
>> being executed before
>> dixSetPrivate(&pWin->devPrivates, dri2WindowPrivateKey, NULL);
>>
>> (In case the swap stuff is parallelized somehow)
>
> Oh I must have misread the bug? I thought you tested and then ran into
> the kernel busy buffer bug...
I didn't test _the patch_, I merely ran into a problem and the
stacktrace was the most useful thing I got from it. Since the machine
locked up, I concluded there must be some in-kernel KMS/radeon bug as well.
Since then I'm happy without compositing :)
>
> Anyway thanks for looking at it.
>
More information about the xorg-devel
mailing list