On 06.07.2016 22:45, Tejun Heo wrote:
On Wed, Jul 06, 2016 at 12:12:52PM +0900, Michel Dänzer wrote:
Not being very familiar with the workqueue APIs, I'll describe how it's supposed to work from a driver POV, which will hopefully help you guys decide on the most appropriate alloc_workqueue parameters.
There is one flip work queue for each hardware CRTC. At most one radeon_flip_work_func item can be queued for any of them at any time. When a radeon_flip_work_func item is queued, it should be executed ASAP (so WQ_HIGHPRI might be appropriate?).
Hmmm... the only time WQ_HIGHPRI should be used is when it'd otherwise require a kthread w/ nice value at -20. Would that be the case here? What are the consequences of the work item getting delayed?
A page flip may be delayed to a later display refresh cycle.
Also, what kind of delays matter here? Is it millisec range or micro?
It can be the latter in theory, but normally rather the former.