From: "Péter Ujfalusi" <peter.ujfalusi@ti.com>
To: Tejun Heo <tj@kernel.org>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Samuel Ortiz <sameo@linux.intel.com>,
Tony Lindgren <tony@atomide.com>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
"Lopez Cruz, Misael" <misael.lopez@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"Girdwood, Liam" <lrg@ti.com>
Subject: Re: [PATCH v4 11/18] input: Add initial support for TWL6040 vibrator
Date: Tue, 14 Jun 2011 10:17:10 +0300 [thread overview]
Message-ID: <8556714.NHVg2d8yTv@barack> (raw)
In-Reply-To: <20110614063400.GB8141@htj.dyndns.org>
On Tuesday 14 June 2011 08:34:00 Tejun Heo wrote:
> Yeap, using a separate workqueue doesn't do anything for latency
> unless WQ_HIGHPRI and/or WQ_CPU_INTENSIVE is used; however, _please_
> stay away from it unless absolutely sure it's necessary (ie. unless
> you can pin point to where latency is coming from - even in that case,
> the thing which induces the latency probably is the one which should
> be fixed).
The latency in most cases comes from the fact, that we are running an embedded
system. Number of peripherals are connected via I2C, these drivers are using
workqueues to communicate with the IC.
Since only one device can communicate through I2C at the time. This is
basically the source of the latency. It does not really matter, if the devices
are on the same I2C bus or not, it is enough if two work belonging to device,
which happens to be on the same I2C bus, and the first work in the queue takes
long time to complete (reading back bigger chunk of info, configuring, etc).
Even if we could schedule the second work on the other CPU, it will be put
waiting till the I2C bus is free, so both CPU core has work assigned, the
first is keeping the I2C bus, the other waits for the I2C bus, and the third
is waiting to be scheduled (which will be happening, when the first work
finished).
IMHO the tactile feedback (vibra) should have an excuse to have separate WQ to
avoid latency spikes.
I agree, that most cases we can use the global wq.
> CMWQ is pretty good at keeping latency low unless something is
> consuming large amount of CPU cycles and those work items are marked
> WQ_CPU_INTENSIVE, not the other way around and WQ_HIGHPRI is for
> things like MCE error reporting.
So this is not really about CPU utilization, it is due to the wide variety of
peripherals connected to an embedded system.
--
Péter
next prev parent reply other threads:[~2011-06-14 7:17 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-10 11:54 [PATCH v4 00/18] MFD/ASoC/Input: TWL4030/TWL60X0 changes Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 01/18] OMAP: New twl-common for common TWL configuration Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 02/18] OMAP4: Move common twl6030 configuration to twl-common Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 03/18] OMAP3: Move common twl " Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 04/18] OMAP3: Move common regulator " Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 05/18] MFD: twl4030-codec: Rename internals from codec to audio Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 06/18] MFD: twl4030-codec -> twl4030-audio: Rename the driver Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 07/18] MFD: twl4030-audio: Rename platform data Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 08/18] mfd: twl6040: Add initial support Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 09/18] ASoC: twl6040: Convert into TWL6040 MFD child Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 10/18] MFD: twl6040: Change platform data for soc codec driver Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 11/18] input: Add initial support for TWL6040 vibrator Peter Ujfalusi
2011-06-11 23:18 ` Dmitry Torokhov
2011-06-13 9:51 ` Péter Ujfalusi
2011-06-13 21:20 ` Dmitry Torokhov
2011-06-14 6:34 ` Tejun Heo
2011-06-14 7:17 ` Péter Ujfalusi [this message]
2011-06-14 7:31 ` Tejun Heo
2011-06-14 7:51 ` Péter Ujfalusi
2011-06-14 8:18 ` Re: Re: " Tejun Heo
2011-06-14 10:22 ` Péter Ujfalusi
2011-06-15 8:18 ` Re: Re: Re: " Tejun Heo
2011-06-15 8:23 ` Tejun Heo
2011-06-16 11:13 ` Péter Ujfalusi
2011-06-16 12:02 ` Re: Re: Re: Re: " Tejun Heo
2011-06-16 14:06 ` Péter Ujfalusi
2011-06-17 9:39 ` Péter Ujfalusi
2011-06-17 9:43 ` Re: [alsa-devel] " Tejun Heo
2011-06-17 10:59 ` Péter Ujfalusi
2011-06-18 14:57 ` Dmitry Torokhov
2011-06-18 15:36 ` Re: Re: [alsa-devel] " Tejun Heo
2011-06-10 11:54 ` [PATCH v4 12/18] OMAP4: SDP4430: Add twl6040 vibrator platform support Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 13/18] ASoC: twl6040: add all ABE DAIs Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 14/18] ASoC: twl6040: Support other sample rates in constraints Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 15/18] ASoC: twl6040: Remove pll and headset mode dependency Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 16/18] ASoC: twl6040: set default constraints Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 17/18] ASoC: twl6040: Configure ramp step based on platform Peter Ujfalusi
2011-06-10 11:54 ` [PATCH v4 18/18] OMAP4: SDP4430: Add twl6040 codec platform support Peter Ujfalusi
2011-06-17 10:06 ` [PATCH v4 00/18] MFD/ASoC/Input: TWL4030/TWL60X0 changes Péter Ujfalusi
2011-06-17 9:39 ` Mark Brown
2011-06-17 10:53 ` Péter Ujfalusi
2011-06-17 9:51 ` Mark Brown
2011-06-17 10:57 ` Péter Ujfalusi
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=8556714.NHVg2d8yTv@barack \
--to=peter.ujfalusi@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=lrg@ti.com \
--cc=misael.lopez@ti.com \
--cc=sameo@linux.intel.com \
--cc=tj@kernel.org \
--cc=tony@atomide.com \
/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;
as well as URLs for NNTP newsgroup(s).