> -     /*XXX: atomic? */
> -     return (fa->access == 0 || fa->access == 3) -
> -            (fb->access == 0 || fb->access == 3);
> +     /* Atomic access (2) has highest priority */
> +     return (-1*(fa->access == 2) + (fa->access == 0 || fa->access == 3)) -
> +            (-1*(fb->access == 2) + (fb->access == 0 || fb->access == 3));

This looks really unreabable.  If the magic values 0, 2 and 3 had names
it might become a little more understadable, then factor the duplicated
calculation of the priority value into a helper and we'll have code that
mere humans can understand..

> +             mutex_lock(&svmm->mutex);
> +             if (mmu_interval_read_retry(&notifier->notifier,
> +                                         notifier_seq)) {
> +                     mutex_unlock(&svmm->mutex);
> +                     continue;
> +             }
> +             break;
> +     }

This looks good, why not:

                mutex_lock(&svmm->mutex);
                if (!mmu_interval_read_retry(&notifier->notifier,
                                             notifier_seq))
                        break;
                mutex_unlock(&svmm->mutex);
        }
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to