All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: linux-kernel@vger.kernel.org
Cc: linuxppc-dev@ozlabs.org, Detlev Zundel <dzu@denx.de>
Subject: SYSFS: need a noncaching read
Date: Tue, 11 Sep 2007 11:43:17 +0200	[thread overview]
Message-ID: <1189503798.6674.46.camel@Zeus.EmbLux> (raw)

Hello,

I have developed a device driver and use the sysFS to export some
registers to userspace. I opened the sysFS File for one register and did
some reads from this File, but I alwas becoming the same value from the
register, whats not OK, because they are changing. So I found out that
the sysFS caches the reads ... :-(

Is there a way to retrigger the reads (in that way, that the sysFS
rereads the values from the driver), without closing and opening the
sysFS Files? Or must I better use the ioctl () Driver-interface for
exporting these registers?

I am asking this, because I must read every 10 ms 2 registers, so
doing a open/read/close for reading one registers is a little bit too
much overhead.

I made a sysFS seek function, which retriggers the read, and that works
fine, but I have again 2 syscalls, whats also is not optimal.

Or can we make a open () with a (new?)Flag, that informs the sysFS to
always reread the values from the underlying driver?

Or a new flag in the "struct attribute_group" in include/linux/sysfs.h,
which let the sysfs rereading the values?

suggestions are welcome

thanks
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

WARNING: multiple messages have this Message-ID (diff)
From: Heiko Schocher <hs@denx.de>
To: linux-kernel@vger.kernel.org
Cc: Detlev Zundel <dzu@denx.de>, linuxppc-dev@ozlabs.org
Subject: SYSFS: need a noncaching read
Date: Tue, 11 Sep 2007 11:43:17 +0200	[thread overview]
Message-ID: <1189503798.6674.46.camel@Zeus.EmbLux> (raw)

Hello,

I have developed a device driver and use the sysFS to export some
registers to userspace. I opened the sysFS File for one register and did
some reads from this File, but I alwas becoming the same value from the
register, whats not OK, because they are changing. So I found out that
the sysFS caches the reads ... :-(

Is there a way to retrigger the reads (in that way, that the sysFS
rereads the values from the driver), without closing and opening the
sysFS Files? Or must I better use the ioctl () Driver-interface for
exporting these registers?

I am asking this, because I must read every 10 ms 2 registers, so
doing a open/read/close for reading one registers is a little bit too
much overhead.

I made a sysFS seek function, which retriggers the read, and that works
fine, but I have again 2 syscalls, whats also is not optimal.

Or can we make a open () with a (new?)Flag, that informs the sysFS to
always reread the values from the underlying driver?

Or a new flag in the "struct attribute_group" in include/linux/sysfs.h,
which let the sysfs rereading the values?

suggestions are welcome

thanks
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


             reply	other threads:[~2007-09-11  9:40 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-11  9:43 Heiko Schocher [this message]
2007-09-11  9:43 ` SYSFS: need a noncaching read Heiko Schocher
2007-09-12  2:05 ` David Gibson
2007-09-12  2:05   ` David Gibson
2007-09-12  3:18   ` Michael Ellerman
2007-09-12  3:18     ` Michael Ellerman
2007-09-12  5:32 ` Robert Schwebel
2007-09-12  5:32   ` Robert Schwebel
2007-09-12 10:01   ` Greg KH
2007-09-12 10:01     ` Greg KH
2007-09-11 19:19     ` Nick Piggin
2007-09-11 19:19       ` Nick Piggin
2007-09-12 17:57       ` Neil Brown
2007-09-12 17:57         ` Neil Brown
2007-09-12 11:13     ` Heiko Schocher
2007-09-12 11:13       ` Heiko Schocher
2007-09-12 11:39       ` Greg KH
2007-09-12 11:39         ` Greg KH
2007-09-12 11:59         ` Heiko Schocher
2007-09-12 11:59           ` Heiko Schocher
2007-09-17  5:22     ` Tejun Heo
2007-09-17  5:22       ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1189503798.6674.46.camel@Zeus.EmbLux \
    --to=hs@denx.de \
    --cc=dzu@denx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.