Lines Matching refs:xas
366 XA_STATE(xas, &lru->xa, 0);
372 xas_lock_irq(&xas);
373 xas_for_each(&xas, mlru, ULONG_MAX) {
375 xas_store(&xas, NULL);
377 xas_unlock_irq(&xas);
471 XA_STATE(xas, &lru->xa, 0);
500 xas_lock_irqsave(&xas, flags);
505 xas_set(&xas, index);
507 if (unlikely(index < 0 || xas_error(&xas) || xas_load(&xas))) {
510 xas_store(&xas, mlru);
511 if (xas_error(&xas) == -ENOMEM) {
512 xas_unlock_irqrestore(&xas, flags);
513 if (xas_nomem(&xas, gfp))
514 xas_set_err(&xas, 0);
515 xas_lock_irqsave(&xas, flags);
517 * The xas lock has been released, this memcg
524 xas_set_err(&xas, 0);
525 else if (!xas_error(&xas) && index != xas.xa_index)
526 xas_set(&xas, index);
532 if (xas.xa_alloc)
533 xas_nomem(&xas, gfp);
534 xas_unlock_irqrestore(&xas, flags);
537 return xas_error(&xas);