From: "NooneImportant" <nxhxzi702@sneakemail.com>
To: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 18/37] dvb: let other frontends support FE_DISHNETWORK_SEND_LEGACY_CMD
Date: Wed, 2 Nov 2005 20:17:10 -0800 [thread overview]
Message-ID: <20172-97280@sneakemail.com> (raw)
In-Reply-To: <20051103135210.21cdcf77.akpm@osdl.org>
On 11/2/05, Andrew Morton wrote:
> Michael Krufky <mkrufky@m1k.net> wrote:
> >
> > +s32 timeval_usec_diff(struct timeval lasttime, struct timeval curtime)
> > +{
> > + return ((curtime.tv_usec < lasttime.tv_usec) ?
> > + 1000000 - lasttime.tv_usec + curtime.tv_usec :
> > + curtime.tv_usec - lasttime.tv_usec);
> > +}
> > +EXPORT_SYMBOL(timeval_usec_diff);
> > +
> > +static inline void timeval_usec_add(struct timeval *curtime, u32 add_usec)
> > +{
> > + curtime->tv_usec += add_usec;
> > + if (curtime->tv_usec >= 1000000) {
> > + curtime->tv_usec -= 1000000;
> > + curtime->tv_sec++;
> > + }
> > +}
>
> timeval arithmetic like this really shouldn't be hidden in a dvb driver -
> it's generic code.
> However I don't believe that the driver should be using timevals and
> do_gettimeofday() at all. Why not use jiffies-based timing like so
> many other parts of the kernel?
>
To be honest, I don't like this solution very much either. It only
works when HZ is ~1000, and even then isn't reliable for everyone who
uses this code. All this is attempting to be is a high precision 8ms
timer. Accuracy needs to be +/- 500us for the code to work. I am not
a (very good) kernel programmer, and didn't find anything that would
really fit the bill when trying to figure out how to ensure a routine
gets called every 8ms (9 times). The ktimers stuff I saw recently on
lwn would seem to work well here, but if there is a way to do it with
what is in the kernel today, I'm just not aware of how to do it. So
if someone will show me the right way (or point me in the irght
direction even), I'll be happy to rework the patch.
Thanks,
Noone
prev parent reply other threads:[~2005-11-03 4:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-01 8:14 [PATCH 18/37] dvb: let other frontends support FE_DISHNETWORK_SEND_LEGACY_CMD Michael Krufky
2005-11-03 2:52 ` Andrew Morton
2005-11-03 4:17 ` NooneImportant [this message]
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=20172-97280@sneakemail.com \
--to=nxhxzi702@sneakemail.com \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox