Commit cfb7cdca authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Ben Myers

xfs: cleanup xfs_log_space_wake

Remove the now unused opportunistic parameter, and use the the
xlog_writeq_wake and xlog_reserveq_wake helpers now that we don't have
to care about the opportunistic wakeups.
Reviewed-by: default avatarMark Tinguely <tinguely@sgi.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Signed-off-by: default avatarBen Myers <bpm@sgi.com>
parent 5b03ff1b
...@@ -762,18 +762,13 @@ xfs_log_item_init( ...@@ -762,18 +762,13 @@ xfs_log_item_init(
/* /*
* Wake up processes waiting for log space after we have moved the log tail. * Wake up processes waiting for log space after we have moved the log tail.
*
* If opportunistic is set wake up one waiter even if we do not have enough
* free space by our strict accounting.
*/ */
void void
xfs_log_space_wake( xfs_log_space_wake(
struct xfs_mount *mp, struct xfs_mount *mp)
bool opportunistic)
{ {
struct xlog_ticket *tic;
struct log *log = mp->m_log; struct log *log = mp->m_log;
int need_bytes, free_bytes; int free_bytes;
if (XLOG_FORCED_SHUTDOWN(log)) if (XLOG_FORCED_SHUTDOWN(log))
return; return;
...@@ -783,16 +778,7 @@ xfs_log_space_wake( ...@@ -783,16 +778,7 @@ xfs_log_space_wake(
spin_lock(&log->l_grant_write_lock); spin_lock(&log->l_grant_write_lock);
free_bytes = xlog_space_left(log, &log->l_grant_write_head); free_bytes = xlog_space_left(log, &log->l_grant_write_head);
list_for_each_entry(tic, &log->l_writeq, t_queue) { xlog_writeq_wake(log, &free_bytes);
ASSERT(tic->t_flags & XLOG_TIC_PERM_RESERV);
if (free_bytes < tic->t_unit_res && !opportunistic)
break;
opportunistic = false;
free_bytes -= tic->t_unit_res;
trace_xfs_log_regrant_write_wake_up(log, tic);
wake_up(&tic->t_wait);
}
spin_unlock(&log->l_grant_write_lock); spin_unlock(&log->l_grant_write_lock);
} }
...@@ -801,18 +787,7 @@ xfs_log_space_wake( ...@@ -801,18 +787,7 @@ xfs_log_space_wake(
spin_lock(&log->l_grant_reserve_lock); spin_lock(&log->l_grant_reserve_lock);
free_bytes = xlog_space_left(log, &log->l_grant_reserve_head); free_bytes = xlog_space_left(log, &log->l_grant_reserve_head);
list_for_each_entry(tic, &log->l_reserveq, t_queue) { xlog_reserveq_wake(log, &free_bytes);
if (tic->t_flags & XLOG_TIC_PERM_RESERV)
need_bytes = tic->t_unit_res*tic->t_cnt;
else
need_bytes = tic->t_unit_res;
if (free_bytes < need_bytes && !opportunistic)
break;
opportunistic = false;
free_bytes -= need_bytes;
trace_xfs_log_grant_wake_up(log, tic);
wake_up(&tic->t_wait);
}
spin_unlock(&log->l_grant_reserve_lock); spin_unlock(&log->l_grant_reserve_lock);
} }
} }
...@@ -2748,7 +2723,7 @@ xlog_ungrant_log_space(xlog_t *log, ...@@ -2748,7 +2723,7 @@ xlog_ungrant_log_space(xlog_t *log,
trace_xfs_log_ungrant_exit(log, ticket); trace_xfs_log_ungrant_exit(log, ticket);
xfs_log_space_wake(log->l_mp, false); xfs_log_space_wake(log->l_mp);
} }
/* /*
......
...@@ -161,8 +161,7 @@ int xfs_log_mount(struct xfs_mount *mp, ...@@ -161,8 +161,7 @@ int xfs_log_mount(struct xfs_mount *mp,
int num_bblocks); int num_bblocks);
int xfs_log_mount_finish(struct xfs_mount *mp); int xfs_log_mount_finish(struct xfs_mount *mp);
xfs_lsn_t xlog_assign_tail_lsn(struct xfs_mount *mp); xfs_lsn_t xlog_assign_tail_lsn(struct xfs_mount *mp);
void xfs_log_space_wake(struct xfs_mount *mp, void xfs_log_space_wake(struct xfs_mount *mp);
bool opportunistic);
int xfs_log_notify(struct xfs_mount *mp, int xfs_log_notify(struct xfs_mount *mp,
struct xlog_in_core *iclog, struct xlog_in_core *iclog,
xfs_log_callback_t *callback_entry); xfs_log_callback_t *callback_entry);
......
...@@ -671,7 +671,7 @@ xfs_trans_ail_update_bulk( ...@@ -671,7 +671,7 @@ xfs_trans_ail_update_bulk(
if (mlip_changed && !XFS_FORCED_SHUTDOWN(ailp->xa_mount)) { if (mlip_changed && !XFS_FORCED_SHUTDOWN(ailp->xa_mount)) {
xlog_assign_tail_lsn(ailp->xa_mount); xlog_assign_tail_lsn(ailp->xa_mount);
xfs_log_space_wake(ailp->xa_mount, false); xfs_log_space_wake(ailp->xa_mount);
} }
} }
...@@ -733,7 +733,7 @@ xfs_trans_ail_delete_bulk( ...@@ -733,7 +733,7 @@ xfs_trans_ail_delete_bulk(
if (mlip_changed && !XFS_FORCED_SHUTDOWN(ailp->xa_mount)) { if (mlip_changed && !XFS_FORCED_SHUTDOWN(ailp->xa_mount)) {
xlog_assign_tail_lsn(ailp->xa_mount); xlog_assign_tail_lsn(ailp->xa_mount);
xfs_log_space_wake(ailp->xa_mount, false); xfs_log_space_wake(ailp->xa_mount);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment