Re: [PATCH 4/4] UBI: Fastmap: Ensure that only one fastmap work is scheduled

From: Tanya Brokhman
Date: Thu Oct 02 2014 - 10:22:50 EST


On 9/30/2014 10:44 AM, Richard Weinberger wrote:
Am 30.09.2014 09:39, schrieb Bityutskiy, Artem:
On Tue, 2014-09-30 at 08:59 +0200, Richard Weinberger wrote:
Am 30.09.2014 08:45, schrieb Bityutskiy, Artem:
On Tue, 2014-09-30 at 00:20 +0200, Richard Weinberger wrote:
+ spin_lock(&ubi->wl_lock);
+ ubi->fm_work_scheduled = 0;
+ spin_unlock(&ubi->wl_lock);

Andrew Morton once said me that if I am protecting an integer change
like this with a spinlock, I have a problem in my locking design. He was
right for my particular case.

Integer is changes atomic. The only other thing spinlock adds are the
barriers.

I've added the spinlock to have a barrier in any case.

Examples of any?

You mean a case where the compiler would reorder code and the barrier is needed?
I don't have one, but I'm not that creative as a modern C compiler.
If you say that no barrier is needed I'll trust you. :-)

we just implemented the same thing :) It's being tested....
Why not use atomic_t fm_work_scheduled and save the spin_lock?


Thanks,
//richard


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/