[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1011092013290.13911@xanadu.home>
Date: Tue, 9 Nov 2010 20:26:53 -0500 (EST)
From: Nicolas Pitre <nicolas.pitre@...onical.com>
To: Kay Sievers <kay.sievers@...y.org>
cc: Greg Kroah-Hartman <gregkh@...e.de>, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH 29/49] vcs: add poll/fasync support
On Wed, 10 Nov 2010, Kay Sievers wrote:
> On Fri, Oct 22, 2010 at 20:21, Greg Kroah-Hartman <gregkh@...e.de> wrote:
> > From: Nicolas Pitre <nico@...xnic.net>
> >
> > The /dev/vcs* devices are used, amongst other things, by accessibility
> > applications such as BRLTTY to display the screen content onto refreshable
> > braille displays. Currently this is performed by constantly reading from
> > /dev/vcsa0 whether or not the screen content has changed. Given the
> > default braille refresh rate of 25 times per second, this easily qualifies
> > as the biggest source of wake-up events preventing laptops from entering
> > deeper power saving states.
> >
> > To avoid this periodic polling, let's add support for select()/poll() and
> > SIGIO with the /dev/vcs* devices. The implemented semantic is to report
> > data availability whenever the corresponding vt has seen some update after
> > the last read() operation. The application still has to lseek() back
> > as usual in order to read() the new data.
>
> Shouldn't it raise POLLPRI/POLLERR then, when it's not about new data
> to read? We do this for several files in the kernel where we just want
> to wakup someone, but the pretty well-defined semantics of poll()
> don't apply.
Hmmm... Maybe POLLPRI, but POLLERR makes no sense.
Nicolas
Powered by blists - more mailing lists