linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH 1/3] mtd:mtdblock: remove the needless mtdblks_lock
@ 2014-12-03  2:19 Gu Zheng
  2015-01-07 20:59 ` Brian Norris
  0 siblings, 1 reply; 3+ messages in thread
From: Gu Zheng @ 2014-12-03  2:19 UTC (permalink / raw)
  To: linux-mtd; +Cc: Gu Zheng, computersforpeace, dwmw2, linux-kernel

The global lock mtdblks_lock was used to protect the original mtdblks
array to avoid race conditions. As the mtdblks array was already gone,
but the mtdblks_lock is left, and it causes latency when open/release dev.
So we need to remove it here.

Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
---
 drivers/mtd/mtdblock.c |   10 ----------
 1 files changed, 0 insertions(+), 10 deletions(-)

diff --git a/drivers/mtd/mtdblock.c b/drivers/mtd/mtdblock.c
index 485ea75..bb4c14f 100644
--- a/drivers/mtd/mtdblock.c
+++ b/drivers/mtd/mtdblock.c
@@ -45,8 +45,6 @@ struct mtdblk_dev {
 	enum { STATE_EMPTY, STATE_CLEAN, STATE_DIRTY } cache_state;
 };
 
-static DEFINE_MUTEX(mtdblks_lock);
-
 /*
  * Cache stuff...
  *
@@ -286,10 +284,8 @@ static int mtdblock_open(struct mtd_blktrans_dev *mbd)
 
 	pr_debug("mtdblock_open\n");
 
-	mutex_lock(&mtdblks_lock);
 	if (mtdblk->count) {
 		mtdblk->count++;
-		mutex_unlock(&mtdblks_lock);
 		return 0;
 	}
 
@@ -302,8 +298,6 @@ static int mtdblock_open(struct mtd_blktrans_dev *mbd)
 		mtdblk->cache_data = NULL;
 	}
 
-	mutex_unlock(&mtdblks_lock);
-
 	pr_debug("ok\n");
 
 	return 0;
@@ -315,8 +309,6 @@ static void mtdblock_release(struct mtd_blktrans_dev *mbd)
 
 	pr_debug("mtdblock_release\n");
 
-	mutex_lock(&mtdblks_lock);
-
 	mutex_lock(&mtdblk->cache_mutex);
 	write_cached_data(mtdblk);
 	mutex_unlock(&mtdblk->cache_mutex);
@@ -331,8 +323,6 @@ static void mtdblock_release(struct mtd_blktrans_dev *mbd)
 		vfree(mtdblk->cache_data);
 	}
 
-	mutex_unlock(&mtdblks_lock);
-
 	pr_debug("ok\n");
 }
 
-- 
1.7.7

.

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [RESEND PATCH 1/3] mtd:mtdblock: remove the needless mtdblks_lock
  2014-12-03  2:19 [RESEND PATCH 1/3] mtd:mtdblock: remove the needless mtdblks_lock Gu Zheng
@ 2015-01-07 20:59 ` Brian Norris
  2015-01-08  0:43   ` Gu Zheng
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Norris @ 2015-01-07 20:59 UTC (permalink / raw)
  To: Gu Zheng; +Cc: dwmw2, linux-mtd, linux-kernel

On Wed, Dec 03, 2014 at 10:19:52AM +0800, Gu Zheng wrote:
> The global lock mtdblks_lock was used to protect the original mtdblks
> array to avoid race conditions. As the mtdblks array was already gone,
> but the mtdblks_lock is left, and it causes latency when open/release dev.
> So we need to remove it here.
> 
> Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>

Pushed this first patch to l2-mtd.git. Thanks!

I'm kinda ambivalent about the next two. They don't seem like necessary
cleanups, really. With the third patch, I think it's actually pretty
important that the caller understand that it's using container_of(). I
could be convinced otherwise though...

Brian

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RESEND PATCH 1/3] mtd:mtdblock: remove the needless mtdblks_lock
  2015-01-07 20:59 ` Brian Norris
@ 2015-01-08  0:43   ` Gu Zheng
  0 siblings, 0 replies; 3+ messages in thread
From: Gu Zheng @ 2015-01-08  0:43 UTC (permalink / raw)
  To: Brian Norris; +Cc: dwmw2, linux-mtd, linux-kernel

Hi Brian,
On 01/08/2015 04:59 AM, Brian Norris wrote:

> On Wed, Dec 03, 2014 at 10:19:52AM +0800, Gu Zheng wrote:
>> The global lock mtdblks_lock was used to protect the original mtdblks
>> array to avoid race conditions. As the mtdblks array was already gone,
>> but the mtdblks_lock is left, and it causes latency when open/release dev.
>> So we need to remove it here.
>>
>> Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
> 
> Pushed this first patch to l2-mtd.git. Thanks!

Thanks.

> 
> I'm kinda ambivalent about the next two. They don't seem like necessary
> cleanups, really. With the third patch, I think it's actually pretty
> important that the caller understand that it's using container_of(). I
> could be convinced otherwise though...

OK.

Regards,
Gu

> 
> Brian
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-01-08  1:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-03  2:19 [RESEND PATCH 1/3] mtd:mtdblock: remove the needless mtdblks_lock Gu Zheng
2015-01-07 20:59 ` Brian Norris
2015-01-08  0:43   ` Gu Zheng

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).