Re: [PATCH v6 6/6] lib/dlock-list: Provide IRQ-safe APIs

From: Davidlohr Bueso
Date: Wed Oct 04 2017 - 18:46:44 EST


On Wed, 04 Oct 2017, Waiman Long wrote:

To enable the use of dlock-list in an interrupt handler, the following
new APIs are provided for a irqsafe dlock-list:

- void dlock_list_unlock_irqsafe(struct dlock_list_iter *)
- void dlock_list_relock_irqsafe(struct dlock_list_iter *)
- void dlock_list_add_irqsafe(struct dlock_list_node *,
struct dlock_list_head *);
- void dlock_lists_add_irqsafe(struct dlock_list_node *,
struct dlock_list_heads *)
- void dlock_lists_del_irqsafe(struct dlock_list_node *)

New macros for irqsafe dlock-list:

- dlist_for_each_entry_irqsafe(pos, iter, member)
- dlist_for_each_entry_safe_irqsafe(pos, n, iter, member)

Instead of adding more calls to the api, could we not just use the
irqsave/restore as part of the regular api?

Thanks,
Davidlohr