All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Zhuravlev <Alex.Zhuravlev@sun.com>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] Commit on share
Date: Sat, 31 May 2008 13:37:49 +0400	[thread overview]
Message-ID: <48411C6D.5090306@sun.com> (raw)
In-Reply-To: <20080531024524.GB2992@webber.adilger.int>

Andreas Dilger wrote:
> Maybe I'm misunderstanding something (I didn't read HLD), but the commit
> callback can be set per Lustre transaction (in fact multiple callbacks
> can exist per transaction) so there should not be any need to do searching
> for finding per-transaction cleanup.  What state is the GC thread supposed
> to be cleaning up?  Doing GC is also searching, and that is undesirable in
> any case.

I think removal *few* (usually two, sometimes upto 4) deps from every callback
is quite expensive as we need to take spinlock and in short period of time we
have to remove thousands deps. for SMP it's not that good. even worse for NUMA.

instead we can do lazy free - in many cases we have to scan whole bucket anyway
as we search for possible dependency. so, under single spinlock instance and
with free searching we can collect stale entries and free them (or move onto
special list to free later).

as entries are supposed to be distributed evenly, this algo should work in most
cases. only if we see some bucket is getting too many stale entries we start GC.

thanks, Alex

  reply	other threads:[~2008-05-31  9:37 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-27 10:44 [Lustre-devel] Commit on share Peter Braam
2008-05-27 15:43 ` Mikhail Pershin
2008-06-01  5:00   ` Peter Braam
2008-05-29 17:42 ` Mikhail Pershin
2008-05-31  2:45   ` Andreas Dilger
2008-05-31  9:37     ` Alex Zhuravlev [this message]
2008-06-01  7:03     ` Mikhail Pershin
2008-06-03 18:41       ` Andreas Dilger
2008-06-03 18:56         ` Alex Zhuravlev
2008-06-01 16:54     ` Alex Zhuravlev
2008-06-02  8:42 ` Alex Zhuravlev
2008-06-03 18:50   ` Andreas Dilger
2008-06-04  1:11     ` Peter Braam
2008-06-04 10:50     ` Nikita Danilov
2008-06-11 14:21 ` Alexander Zarochentsev
2008-06-11 14:35   ` Alex Zhuravlev
2008-06-11 15:26   ` Peter Braam
2008-06-11 16:27     ` Alex Zhuravlev
2008-06-11 16:28       ` Peter Braam
2008-06-11 16:46     ` Alexander Zarochentsev

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=48411C6D.5090306@sun.com \
    --to=alex.zhuravlev@sun.com \
    --cc=lustre-devel@lists.lustre.org \
    /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.