Displaying 2 results from an estimated 2 matches for "link_and_wait".
Did you mean:
kick_and_wait
2014 Jun 16
4
[PATCH 10/11] qspinlock: Paravirt support
...truct pv_node)> 5*sizeof(struct mcs_spinlock));
> +
> + pn->cpu = smp_processor_id();
> + pn->head = INVALID_HEAD;
> +}
> +
> +static inline struct pv_node *pv_decode_tail(u32 tail)
> +{
> + return (struct pv_node *)decode_tail(tail);
> +}
> +
> +void __pv_link_and_wait_node(u32 old, struct mcs_spinlock *node)
> +{
> + struct pv_node *ppn, *pn = (struct pv_node *)node;
> + unsigned int count;
> +
> + if (!(old& _Q_TAIL_MASK)) {
> + pn->head = NO_HEAD;
> + return;
> + }
> +
> + ppn = pv_decode_tail(old);
> + ACCESS_ONCE(pp...
2014 Jun 16
4
[PATCH 10/11] qspinlock: Paravirt support
...truct pv_node)> 5*sizeof(struct mcs_spinlock));
> +
> + pn->cpu = smp_processor_id();
> + pn->head = INVALID_HEAD;
> +}
> +
> +static inline struct pv_node *pv_decode_tail(u32 tail)
> +{
> + return (struct pv_node *)decode_tail(tail);
> +}
> +
> +void __pv_link_and_wait_node(u32 old, struct mcs_spinlock *node)
> +{
> + struct pv_node *ppn, *pn = (struct pv_node *)node;
> + unsigned int count;
> +
> + if (!(old& _Q_TAIL_MASK)) {
> + pn->head = NO_HEAD;
> + return;
> + }
> +
> + ppn = pv_decode_tail(old);
> + ACCESS_ONCE(pp...