From: rabin@rab.in (Rabin Vincent)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V7 02/24] coresight: associating path with session rather than tracer
Date: Sun, 10 Jan 2016 16:43:26 +0100 [thread overview]
Message-ID: <20160110154326.GB13903@debian> (raw)
In-Reply-To: <CANLsYkwN=SOnfDfd8oF-2Z5Ef8oTPao6H_auQhoMpVAnokYkrg@mail.gmail.com>
On Tue, Jan 05, 2016 at 03:23:20PM -0700, Mathieu Poirier wrote:
> On 5 January 2016 at 06:15, Rabin Vincent <rabin@rab.in> wrote:
> > The command sequence is exactly as mentioned above. The kernel is
> > v4.4rc-8 + all your patches from this thread + the OMAP coresight patch
> > I mentioned earlier.
>
> What patch was that? Would mind providing me with more information?
http://www.spinics.net/lists/kernel/msg2150809.html
> I fixed the kmalloc bug - it stemmed from a rebase conflict in the
> etm3x driver. On the flip side I haven't been able to reproduce the
> lockdep problem. But looking at the log you provided I can understand
> why the kernel is complaining.
>
> I produced a patch [1] and added you as a reporter. It would be great
> if you could give it a quick spin to see if the problem still persist.
> [1]. https://git.linaro.org/people/mathieu.poirier/coresight.git/commit/914353d1b625eccb0d1dda71047408a52f8811d3
It does silence the warning but simply using mutex_trylock() instead of
mutex_lock() does not seem like the correct fix. The lock dependency
problem lockdep is complaining about can be fixed for example by not
holding the coresight_mutex around the device_unregister()
coresight_unregister(). I don't quite see what the mutex is protecting
there?
BTW, there seem to be several problems with the unregistration:
- csdev->refcnt which is allocated with kcalloc() in
coresight_register() is never freed.
- csdev->conns is freed before device_unregister() rather than in the
release function.
- put_device() is not done on the csdev' conn->child_devs when it is
unregistered, so the reference taken by the bus_find_device() in
coresight_fixup_device_conns() is never released.
- There is no reference taken for the csdev when it is assigned as
some other device's child_dev in coresight_orphan_match()
WARNING: multiple messages have this Message-ID (diff)
From: Rabin Vincent <rabin@rab.in>
To: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH V7 02/24] coresight: associating path with session rather than tracer
Date: Sun, 10 Jan 2016 16:43:26 +0100 [thread overview]
Message-ID: <20160110154326.GB13903@debian> (raw)
In-Reply-To: <CANLsYkwN=SOnfDfd8oF-2Z5Ef8oTPao6H_auQhoMpVAnokYkrg@mail.gmail.com>
On Tue, Jan 05, 2016 at 03:23:20PM -0700, Mathieu Poirier wrote:
> On 5 January 2016 at 06:15, Rabin Vincent <rabin@rab.in> wrote:
> > The command sequence is exactly as mentioned above. The kernel is
> > v4.4rc-8 + all your patches from this thread + the OMAP coresight patch
> > I mentioned earlier.
>
> What patch was that? Would mind providing me with more information?
http://www.spinics.net/lists/kernel/msg2150809.html
> I fixed the kmalloc bug - it stemmed from a rebase conflict in the
> etm3x driver. On the flip side I haven't been able to reproduce the
> lockdep problem. But looking at the log you provided I can understand
> why the kernel is complaining.
>
> I produced a patch [1] and added you as a reporter. It would be great
> if you could give it a quick spin to see if the problem still persist.
> [1]. https://git.linaro.org/people/mathieu.poirier/coresight.git/commit/914353d1b625eccb0d1dda71047408a52f8811d3
It does silence the warning but simply using mutex_trylock() instead of
mutex_lock() does not seem like the correct fix. The lock dependency
problem lockdep is complaining about can be fixed for example by not
holding the coresight_mutex around the device_unregister()
coresight_unregister(). I don't quite see what the mutex is protecting
there?
BTW, there seem to be several problems with the unregistration:
- csdev->refcnt which is allocated with kcalloc() in
coresight_register() is never freed.
- csdev->conns is freed before device_unregister() rather than in the
release function.
- put_device() is not done on the csdev' conn->child_devs when it is
unregistered, so the reference taken by the bus_find_device() in
coresight_fixup_device_conns() is never released.
- There is no reference taken for the csdev when it is assigned as
some other device's child_dev in coresight_orphan_match()
next prev parent reply other threads:[~2016-01-10 15:43 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-18 20:58 [PATCH V7 00/24] Coresight integration with perf Mathieu Poirier
2015-12-18 20:58 ` Mathieu Poirier
2015-12-18 20:58 ` [PATCH V7 01/24] coresight: implementing 'cpu_id()' API Mathieu Poirier
2015-12-18 20:58 ` Mathieu Poirier
2015-12-18 20:58 ` [PATCH V7 02/24] coresight: associating path with session rather than tracer Mathieu Poirier
2015-12-18 20:58 ` Mathieu Poirier
2015-12-20 15:29 ` Rabin Vincent
2015-12-20 15:29 ` Rabin Vincent
2015-12-23 16:23 ` Mathieu Poirier
2015-12-23 16:23 ` Mathieu Poirier
2016-01-04 18:24 ` Mathieu Poirier
2016-01-04 18:24 ` Mathieu Poirier
2016-01-05 13:15 ` Rabin Vincent
2016-01-05 13:15 ` Rabin Vincent
[not found] ` <CANLsYkwN=SOnfDfd8oF-2Z5Ef8oTPao6H_auQhoMpVAnokYkrg@mail.gmail.com>
2016-01-10 15:43 ` Rabin Vincent [this message]
2016-01-10 15:43 ` Rabin Vincent
2016-01-13 21:47 ` Mathieu Poirier
2016-01-13 21:47 ` Mathieu Poirier
2016-01-16 13:54 ` Rabin Vincent
2016-01-16 13:54 ` Rabin Vincent
2016-01-19 23:54 ` Mathieu Poirier
2016-01-19 23:54 ` Mathieu Poirier
2015-12-18 20:58 ` [PATCH V7 03/24] coresight: add API to get sink from path Mathieu Poirier
2015-12-18 20:58 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 04/24] coresight: moving PM runtime operations to core framework Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-19 17:13 ` Rabin Vincent
2015-12-19 17:13 ` Rabin Vincent
2015-12-23 16:27 ` Mathieu Poirier
2015-12-23 16:27 ` Mathieu Poirier
2015-12-24 19:20 ` Rabin Vincent
2015-12-24 19:20 ` Rabin Vincent
2015-12-18 20:59 ` [PATCH V7 05/24] coresight: etm3x: moving etm_readl/writel to header file Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 06/24] coresight: etm3x: moving sysFS entries to dedicated file Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 07/24] coresight: etm3x: unlocking tracers in default arch init Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 08/24] coresight: etm3x: splitting struct etm_drvdata Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 09/24] coresight: etm3x: adding operation mode for etm_enable() Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 10/24] coresight: etm3x: set progbit to stop trace collection Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 11/24] coresight: etm3x: changing default trace configuration Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 12/24] coresight: etm3x: consolidating initial config Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 13/24] coresight: etm3x: implementing user/kernel mode tracing Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 14/24] coresight: etm3x: implementing perf_enable/disable() API Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 15/24] coresight: etb10: moving to local atomic operations Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 16/24] coresight: etb10: adding operation mode for sink->enable() Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 17/24] coresight: etb10: implementing AUX space API Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-19 17:23 ` Rabin Vincent
2015-12-19 17:23 ` Rabin Vincent
2015-12-23 16:33 ` Mathieu Poirier
2015-12-23 16:33 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 18/24] coresight: updating documentation to reflect integration with perf Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 19/24] coresight: etm-perf: new PMU driver for ETM tracers Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 20/24] coresight: introducing a global trace ID function Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 21/24] perf tools: making function set_max_cpu_num() non static Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 22/24] perf tools: adding perf_evlist to *info_priv_size() Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 23/24] perf tools: making coresight PMU listable Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-18 20:59 ` [PATCH V7 24/24] perf tools: adding coresight etm PMU record capabilities Mathieu Poirier
2015-12-18 20:59 ` Mathieu Poirier
2015-12-19 17:27 ` Rabin Vincent
2015-12-19 17:27 ` Rabin Vincent
2015-12-23 16:46 ` Mathieu Poirier
2015-12-23 16:46 ` Mathieu Poirier
2015-12-19 17:42 ` [PATCH V7 00/24] Coresight integration with perf Rabin Vincent
2015-12-19 17:42 ` Rabin Vincent
2015-12-23 16:29 ` Mathieu Poirier
2015-12-23 16:29 ` Mathieu Poirier
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=20160110154326.GB13903@debian \
--to=rabin@rab.in \
--cc=linux-arm-kernel@lists.infradead.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.