Re: [PATCH - 2.6.15-rc5-mm3] Allow sysfs attribute files to be pollable.

Neil Brown
2005-12-21T00:45:50Z

On Wednesday December 21, jesper.juhl@gmail.com wrote:
> On 12/21/05, Neil Brown <neilb@suse.de> wrote:
> >
> > I suggested an early of this patch some time ago to see if it was an
> > acceptable approach and got zero feedback, which presumably means it
> > is perfect:-)
> >
> > I've now reviewed it, fixed up the bits I didn't like, and tested it.
> > It works and I am happy with in.
> >
> > So: I would like to submit it for inclusion in a future kernel.
> >
> > Comments, or acks, please :-)
> >
> [snip]
> > +/* Sysfs attribute files are pollable. The idea is that you read
> > + * the content and then you use 'poll' or 'select' to wait for
> > + * the content to change. When the content changes (assuming the
> > + * manager for the kobject supports notification), poll will
> > + * return POLLERR|POLLPRI, and select will return the fd whether
> > + * it is waiting for read, write, or exceptions.
> > + * Once poll/select indicates that the value has changed, you
> > + * need to close and re-open the file, as simply seeking and reading
> > + * again will not get new data, or reset the state of 'poll'.
>
> What if the value changes again between me closing and re-opening the file?

You miss an intermediate event I guess.

If you have a stream of events where you absolutely want to see every
one of them, then you want something like a character-device (or one
of several other alternative).
That is not what this is for.

However very often you don't need to see every single event. You just
need to know when state has changed so you can respond to the new
state.
That is what this patch is for.

Does that answer your question?

Thanks,
NeilBrown