Re: [PATCH] Add sysfs support for fbdefio delay

From: Bruno PrÃmont
Date: Fri Feb 26 2010 - 05:53:47 EST


Hi Jaya,

On Fri, 26 February 2010 Jaya Kumar <jayakumar.lkml@xxxxxxxxx> wrote:
> On Fri, Feb 26, 2010 at 6:15 AM, Rick L. Vinyard Jr.
> <rvinyard@xxxxxxxxxxx> wrote:
> > This patch adds support for examining and modifying the fbdefio
> > delay parameter through sysfs. It also adds two driver definable
> > minimum and maximum bounds.
>
> Thanks for posting this. I've now read through this patch and your
> past patches, but I couldn't get a good understanding of how this
> userspace exposed defio delay would interact with most existing
> systems.

In the case of my PicoLCD driver, the hardware can barely do 2 full
redraws of the display per second but in case only a single tile is
affected it can do more refreshes of such a single tile per second.

> > + Â Â Â Â Â Â Â Set the deferred I/O delay of the framebuffer in ms.
> > + Â Â Â Â Â Â Â This value can be used to throttle deferred I/O updates.
>
> Please help us understand how userspace should use the ability to set
> this delay. Who in userspace is intended to use it? Would this be the
> X server, cairo, or papyrus? A separate daemon? Human interaction?
> When should said userspace entity throttle updates? How would this
> entity know when throttling is needed? Could this throttling possibly
> or should this possibly be done automatically by the driver itself?

For me the driver would start with a default delay that matches the
full-redraw throughput of the device but userspace could reduce the
delay when it knows it will mostly just refresh small parts of the
display (one or two tiles) and would like those done at a higher rate.

A sample application would be displaying a media player interface
like the one of XMMS and clones where Umeter (the part displaying
volume per frequency range) could be refreshed ten times a second,
the current position once a second and all the rest only on song
change.

Knowing the size of the display, probability that it's being used
directly by X server is very small, it would rather be some application
using it as a sideport display.

> > + Â Â Â Â Â Â Â Most framebuffer devices do not have or need support for
> > + Â Â Â Â Â Â Â deferred I/O. Accessing a framebuffer without deferred I/O
> > + Â Â Â Â Â Â Â support will return -ENODEV. Can be read but not modified if
> > + Â Â Â Â Â Â Â /sys/class/graphics/<fb>/defio_delay_max is 0. When modifying,
> > + Â Â Â Â Â Â Â the value must be greater than or equal to
> > + Â Â Â Â Â Â Â /sys/class/graphics/<fb>/defio_delay_min and less than or equal
> > + Â Â Â Â Â Â Â to /sys/class/graphics/<fb>/defio_delay_max.
>
> Please help the reader of above understand the sequence of userspace
> changing the defio delay, and how and when that would affect the
> associated drivers. Will the delay behaviour be standard for all defio
> client drivers? What happens in all the various timing scenarios, eg:
> if a defio delay is changed in the middle of a display update or a
> defio page clean or before? The sysfs parameter description mentioning
> min/max above could use some elaboration as reading it doesn't make
> clear if userspace can also affect min/max or if it is completely
> owned by the driver.

Thanks,
Bruno
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/