On Monday, 15 March 2021 6:51:13 PM AEDT Christoph Hellwig wrote:
- /*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..
Fair enough, will add some definitions for the magic values.
mutex_lock(&svmm->mutex);
if (mmu_interval_read_retry(¬ifier->notifier,
notifier_seq)) {
mutex_unlock(&svmm->mutex);
continue;
}
break;
- }
This looks good, why not:
mutex_lock(&svmm->mutex); if (!mmu_interval_read_retry(¬ifier->notifier, notifier_seq)) break; mutex_unlock(&svmm->mutex);
}
I had copied that from nouveau_range_fault() but this suggestion is better. Will update, thanks for looking.
dri-devel@lists.freedesktop.org