From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: Archit Taneja <archit@ti.com>,
linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 2/5] OMAPFB: simplify locking
Date: Fri, 07 Dec 2012 14:16:48 +0000 [thread overview]
Message-ID: <50C1FA50.3040403@ti.com> (raw)
In-Reply-To: <50C1F232.80508@ti.com>
[-- Attachment #1: Type: text/plain, Size: 1944 bytes --]
On 2012-12-07 15:42, Tomi Valkeinen wrote:
> On 2012-12-07 14:53, Ville Syrjälä wrote:
>> On Fri, Dec 07, 2012 at 01:55:06PM +0200, Tomi Valkeinen wrote:
>>> Kernel lock verification code has lately detected possible circular
>>> locking in omapfb. The exact problem is unclear, but omapfb's current
>>> locking seems to be overly complex.
>>>
>>> This patch simplifies the locking in the following ways:
>>>
>>> - Remove explicit omapfb mem region locking. I couldn't figure out the
>>> need for this, as long as we take care to take omapfb lock.
>>
>> I suppose the idea with that was that you wouldn't need the global
>> omapfb lock, and also it was an rwsem so it allowed parallel access to
>> the mem regions, unless the region size was being changed, in which
>> case it took the write lock. I can't really remember what the reason
>> for using an rwsem was, but I suppose there was one at the time.
>
> Right. Yes, I have no recollection either of the possible reason for it
> =). Did we have multiple concurrerent users for the fbs? It still sounds
> like a useless optimization, as all the region locks were only held for
> a short time, as far as I saw.
>
> It could also be that we're missing something from the mainline kernel,
> which we had in the Nokia kernel, and which would explain the need for
> region locks.
>
>> I think the only correctness issue with your patch is that you're
>> opening up a race between omapfb_mmap and
>> omapfb_setup_mem/store_size.
>
> Good point. I think this can be fixed by taking fb_info->mm_lock in
> omapfb_setup_mem & co.
Well... Adding using of fb_info->mm_lock to omapfb_setup_mem again
causes possible circular locking warnings. And I still can't figure out
the exact reason. Perhaps the region locking was not involved in this
warning at all, but the problem is elsewhere.
(I hope the circular locking detection is correct =).
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 899 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: Archit Taneja <archit@ti.com>,
linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 2/5] OMAPFB: simplify locking
Date: Fri, 7 Dec 2012 16:16:48 +0200 [thread overview]
Message-ID: <50C1FA50.3040403@ti.com> (raw)
In-Reply-To: <50C1F232.80508@ti.com>
[-- Attachment #1: Type: text/plain, Size: 1944 bytes --]
On 2012-12-07 15:42, Tomi Valkeinen wrote:
> On 2012-12-07 14:53, Ville Syrjälä wrote:
>> On Fri, Dec 07, 2012 at 01:55:06PM +0200, Tomi Valkeinen wrote:
>>> Kernel lock verification code has lately detected possible circular
>>> locking in omapfb. The exact problem is unclear, but omapfb's current
>>> locking seems to be overly complex.
>>>
>>> This patch simplifies the locking in the following ways:
>>>
>>> - Remove explicit omapfb mem region locking. I couldn't figure out the
>>> need for this, as long as we take care to take omapfb lock.
>>
>> I suppose the idea with that was that you wouldn't need the global
>> omapfb lock, and also it was an rwsem so it allowed parallel access to
>> the mem regions, unless the region size was being changed, in which
>> case it took the write lock. I can't really remember what the reason
>> for using an rwsem was, but I suppose there was one at the time.
>
> Right. Yes, I have no recollection either of the possible reason for it
> =). Did we have multiple concurrerent users for the fbs? It still sounds
> like a useless optimization, as all the region locks were only held for
> a short time, as far as I saw.
>
> It could also be that we're missing something from the mainline kernel,
> which we had in the Nokia kernel, and which would explain the need for
> region locks.
>
>> I think the only correctness issue with your patch is that you're
>> opening up a race between omapfb_mmap and
>> omapfb_setup_mem/store_size.
>
> Good point. I think this can be fixed by taking fb_info->mm_lock in
> omapfb_setup_mem & co.
Well... Adding using of fb_info->mm_lock to omapfb_setup_mem again
causes possible circular locking warnings. And I still can't figure out
the exact reason. Perhaps the region locking was not involved in this
warning at all, but the problem is elsewhere.
(I hope the circular locking detection is correct =).
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 899 bytes --]
next prev parent reply other threads:[~2012-12-07 14:16 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-07 11:55 [PATCH 1/5] OMAPFB: remove exported udpate window Tomi Valkeinen
2012-12-07 11:55 ` Tomi Valkeinen
2012-12-07 11:55 ` [PATCH 2/5] OMAPFB: simplify locking Tomi Valkeinen
2012-12-07 11:55 ` Tomi Valkeinen
2012-12-07 12:53 ` Ville Syrjälä
2012-12-07 12:53 ` Ville Syrjälä
2012-12-07 13:42 ` Tomi Valkeinen
2012-12-07 13:42 ` Tomi Valkeinen
2012-12-07 14:16 ` Tomi Valkeinen [this message]
2012-12-07 14:16 ` Tomi Valkeinen
2012-12-07 14:45 ` Ville Syrjälä
2012-12-07 14:45 ` Ville Syrjälä
2012-12-13 11:17 ` Tomi Valkeinen
2012-12-13 11:17 ` Tomi Valkeinen
2012-12-07 11:55 ` [PATCH 3/5] OMAPFB: remove warning when trying to alloc at certain paddress Tomi Valkeinen
2012-12-07 11:55 ` Tomi Valkeinen
2012-12-07 11:55 ` [PATCH 4/5] OMAPDSS: manage output-dssdev connection in output drivers Tomi Valkeinen
2012-12-07 11:55 ` Tomi Valkeinen
2012-12-07 11:55 ` [PATCH 5/5] OMAPFB: connect ovl managers to all dssdevs Tomi Valkeinen
2012-12-07 11:55 ` Tomi Valkeinen
2012-12-10 7:34 ` Archit Taneja
2012-12-10 7:46 ` Archit Taneja
2012-12-10 8:03 ` Tomi Valkeinen
2012-12-10 8:03 ` Tomi Valkeinen
2012-12-10 9:54 ` Archit Taneja
2012-12-10 9:55 ` Archit Taneja
2012-12-10 10:07 ` Tomi Valkeinen
2012-12-10 10:07 ` Tomi Valkeinen
2012-12-10 10:53 ` Archit Taneja
2012-12-10 10:54 ` Archit Taneja
2012-12-10 11:03 ` Tomi Valkeinen
2012-12-10 11:03 ` Tomi Valkeinen
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=50C1FA50.3040403@ti.com \
--to=tomi.valkeinen@ti.com \
--cc=archit@ti.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=ville.syrjala@linux.intel.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 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.