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. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature