[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200825093219.bybzzpyfbbccjanf@skbuf>
Date: Tue, 25 Aug 2020 12:32:19 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Kurt Kanzenbach <kurt@...utronix.de>
Cc: Vinicius Costa Gomes <vinicius.gomes@...el.com>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org,
Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Richard Cochran <richardcochran@...il.com>,
Kamil Alkhouri <kamil.alkhouri@...offenburg.de>,
ilias.apalodimas@...aro.org
Subject: Re: [PATCH v3 5/8] net: dsa: hellcreek: Add TAPRIO offloading support
On Tue, Aug 25, 2020 at 11:23:56AM +0200, Kurt Kanzenbach wrote:
> On Mon Aug 24 2020, Vinicius Costa Gomes wrote:
> > Hi,
> >
> > Kurt Kanzenbach <kurt@...utronix.de> writes:
> >
> [snip]
> >> + /* Setup timer for schedule switch: The IP core only allows to set a
> >> + * cycle start timer 8 seconds in the future. This is why we setup the
> >> + * hritmer to base_time - 5 seconds. Then, we have enough time to
> >> + * activate IP core's EST timer.
> >> + */
> >> + start = ktime_sub_ns(schedule->base_time, (u64)5 * NSEC_PER_SEC);
> >> + hrtimer_start_range_ns(&hellcreek_port->cycle_start_timer, start,
> >> + NSEC_PER_SEC, HRTIMER_MODE_ABS);
> >
> > If we are talking about seconds here, I don't think you need to use a
> > hrtimer, you could use a workqueue/delayed_work. Should make things a
> > bit simpler.
>
> I've used hrtimers for one reason: The hrtimer provides a way to fire at
> an absolute base time based on CLOCK_TAI. All the other facilities such
> as workqueues, timer list timers, etc do not.
That still doesn't justify the complexity of irqsave spinlocks and such.
You could just as well schedule a workqueue from that hrtimer and have
process context...
Thanks,
-Vladimir
Powered by blists - more mailing lists