fs: dlm: use list_empty() to check last iteration
This patch will use list_empty(&ls->ls_cb_delay) to check for last list iteration. In case of a multiply count of MAX_CB_QUEUE and the list is empty we do a extra goto more which we can avoid by checking on list_empty(). Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
Родитель
1b9beda83e
Коммит
f70813d6a5
|
@ -300,6 +300,7 @@ void dlm_callback_resume(struct dlm_ls *ls)
|
||||||
{
|
{
|
||||||
struct dlm_lkb *lkb, *safe;
|
struct dlm_lkb *lkb, *safe;
|
||||||
int count = 0, sum = 0;
|
int count = 0, sum = 0;
|
||||||
|
bool empty;
|
||||||
|
|
||||||
clear_bit(LSFL_CB_DELAY, &ls->ls_flags);
|
clear_bit(LSFL_CB_DELAY, &ls->ls_flags);
|
||||||
|
|
||||||
|
@ -315,10 +316,11 @@ more:
|
||||||
if (count == MAX_CB_QUEUE)
|
if (count == MAX_CB_QUEUE)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
empty = list_empty(&ls->ls_cb_delay);
|
||||||
mutex_unlock(&ls->ls_cb_mutex);
|
mutex_unlock(&ls->ls_cb_mutex);
|
||||||
|
|
||||||
sum += count;
|
sum += count;
|
||||||
if (count == MAX_CB_QUEUE) {
|
if (!empty) {
|
||||||
count = 0;
|
count = 0;
|
||||||
cond_resched();
|
cond_resched();
|
||||||
goto more;
|
goto more;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче