From: Christoph Hellwig <hch@infradead.org>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 2/5] xfs: use a cursor for bulk AIL insertion
Date: Mon, 4 Jul 2011 07:16:05 -0400 [thread overview]
Message-ID: <20110704111605.GA5513@infradead.org> (raw)
In-Reply-To: <1309757260-5484-3-git-send-email-david@fromorbit.com>
> + do {
> + /* no placeholder, so get our insert location */
> + if (!lip)
> + lip = __xfs_trans_ail_cursor_last(ailp, cur,
> + lsn, false);
> +
> + if (!lip) {
> + /*
> + * The list is empty, so just splice and return. Our
> + * cursor is already guaranteed to be up to date, so we
> + * don't need to touch it here.
> + */
> + list_splice(list, &ailp->xa_ail);
> + return;
> + }
> +
> + /* The placeholder was invalidated, need to get a new cursor */
> + if ((__psint_t)lip & 1)
> + lip = NULL;
> +
> + } while (lip == NULL);
Why do we even need a loop here? Given that we're under xa_lock
no new cursor will get invalidated. Isn't the simple code below
equivalent?
/* no valid placeholder, get us a useful one */
if (!lip || (__psint_t)lip & 1))
lip = __xfs_trans_ail_cursor_last(ailp, cur, lsn, false);
if (!lip) {
/*
* The list is empty, so just splice and return. Our
* cursor is already guaranteed to be up to date, so we
* don't need to touch it here.
*/
list_splice(list, &ailp->xa_ail);
return;
}
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2011-07-04 11:16 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-04 5:27 [PATCH 0/5] xfs: fix AIL bulk insert issues and cleanups Dave Chinner
2011-07-04 5:27 ` [PATCH 1/5] xfs: unpin stale inodes directly in IOP_COMMITTED Dave Chinner
2011-07-04 8:13 ` Christoph Hellwig
2011-07-06 20:45 ` Alex Elder
2011-07-04 5:27 ` [PATCH 2/5] xfs: use a cursor for bulk AIL insertion Dave Chinner
2011-07-04 8:32 ` Christoph Hellwig
2011-07-04 11:16 ` Christoph Hellwig [this message]
2011-07-04 21:20 ` Christoph Hellwig
2011-07-07 21:26 ` Alex Elder
2011-07-08 1:04 ` Dave Chinner
2011-07-07 20:29 ` Alex Elder
2011-07-04 5:27 ` [PATCH 3/5] xfs: remove confusing ail cursor wrapper Dave Chinner
2011-07-04 8:16 ` Christoph Hellwig
2011-07-07 20:33 ` Alex Elder
2011-07-04 5:27 ` [PATCH 4/5] xfs: convert AIL cursors to use struct list_head Dave Chinner
2011-07-04 8:43 ` Christoph Hellwig
2011-07-07 21:15 ` Alex Elder
2011-07-08 1:54 ` Dave Chinner
2011-07-04 5:27 ` [PATCH 5/5] xfs: add size update tracepoint to IO completion Dave Chinner
2011-07-04 8:16 ` Christoph Hellwig
2011-07-07 21:18 ` Alex Elder
2011-07-04 8:13 ` [PATCH 0/5] xfs: fix AIL bulk insert issues and cleanups Christoph Hellwig
2011-07-04 11:26 ` Dave Chinner
[not found] <20111014185048.893798829@bombadil.infradead.org>
2011-10-14 18:50 ` [PATCH 2/5] xfs: use a cursor for bulk AIL insertion Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110704111605.GA5513@infradead.org \
--to=hch@infradead.org \
--cc=david@fromorbit.com \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.