On Thu, 18 Jan 2018 13:01:46 +0900 Byungchul Park <byungchul.park@xxxxxxx> wrote: > > I disagree. It is like a spinlock. You can say a spinlock() that is > > blocked is also waiting for an event. That event being the owner does a > > spin_unlock(). > > That's exactly what I was saying. Excuse me but, I don't understand > what you want to say. Could you explain more? What do you disagree? I guess I'm confused at what you are asking for then. > > I find your way confusing. I'm simulating a spinlock not a wait for > > completion. A wait for completion usually initiates something then > > I used the word, *event* instead of *completion*. wait_for_completion() > and complete() are just an example of a pair of waiter and event. > Lock and unlock can also be another example, too. > > Important thing is that who waits and who triggers the event. Using the > pair, we can achieve various things, for examples: > > 1. Synchronization like wait_for_completion() does. > 2. Control exclusively entering into a critical area. > 3. Whatever. > > > waits for it to complete. This is trying to get into a critical area > > but another task is currently in it. It's simulating a spinlock as far > > as I can see. > > Anyway it's an example of "waiter for an event, and the event". > > JFYI, spinning or sleeping does not matter. Those are just methods to > achieve a wait. I know you're not talking about this though. It's JFYI. OK, if it is just FYI. -- Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>