Re: [PATCH] nouveau: Add irq waiting as alternative to busywait

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

 



Hey,

Op 14-07-12 00:56, Maarten Maathuis schreef:
> On Fri, Jul 13, 2012 at 11:35 PM, Maarten Lankhorst
> <m.b.lankhorst@xxxxxxxxx> wrote:
>> A way to trigger an irq will be needed for optimus support since
>> cpu-waiting isn't always viable there. This could also be nice for
>> power saving on since cpu would no longer have to spin, and
>> performance might improve slightly on cpu-limited workloads.
>>
>> Some way to quantify these effects would be nice, even if the
>> end result would be 'no performance regression'. An earlier
>> version always emitted an interrupt, resulting in glxgears going
>> from 8k fps to 7k. However this is no longer the case, as I'm
>> using the kernel submission channel for generating irqs as
>> needed now.
>>
>> On nv84 I'm using NOTIFY_INTR, but that might have been
>> removed on fermi, so instead I'm using invalid command
>> 0x0058 now as a way to signal completion.
> Out of curiosity, isn't this like a handcoded version of software
> methods? If so, why handcoded? Or are software methods not supported
> on NVC0?
>
I don't think there is a software engine, and if you look at the code only
the kernel hardware channel will be allowed to raise a wake-up interrupt.
On normal channels you'll get a invalid command in dmesg.
On nv84 the interrupt will be eaten unless it originated from the kernel hw
channel in which case things will be woken up, since it's a valid fifo command
there. Either nvc0 and later dropped the support or I wasn't able to activate it
during testing.

~Maarten
_______________________________________________
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