Sven Dietrich wrote:
/** A fuqueue, a prioritized wait queue usable from

kernel space. */

struct fuqueue {
spinlock_t lock; struct plist wlist;
struct fuqueue_ops *ops;
};



Would the above spinlock_t be a raw_spinlock_t? This goes
back to my first question. I'm not sure how familiar you are with Ingo's work, but he has turned all spinlocks into mutexes, and when you really need an original spinlock, you declare it with raw_spinlock_t.




This one probably should be a raw_spinlock. This lock is only held to protect access to the queues.
Since the queues are already priority ordered, there is
little benefit to ordering -the order of insertion-
in case of contention on a queue, compared with the complexity.

The choice of lock type should derive from both the calling context and the length of time the lock is expected to be held.

-john


-- [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Reply via email to