From: Daniel Stodden <daniel.stodden@citrix.com>
To: LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] vgchange -a memory consumption
Date: Mon, 14 Jul 2008 23:19:44 -0700 [thread overview]
Message-ID: <1216102784.3751.78.camel@desktop> (raw)
In-Reply-To: <20080712165145.GC7155@agk.fab.redhat.com>
Hey Alasdair,
thanks a lot for the prompt reply.
On Sat, 2008-07-12 at 17:51 +0100, Alasdair G Kergon wrote:
> On Fri, Jul 11, 2008 at 10:57:31PM -0700, Daniel Stodden wrote:
> > I'm running, lvm2-2.02.26.
>
> Don't bother investigating that version - stuff got changed.
> Update to the latest release (or CVS) and try again.
>
> > Why is that data reread?
>
> Because the two parts of the code are designed to be independent. - The
> so-called "activation" code sits behind an API in a so-called "locking"
> module. There's a choice of locking modules, and some send the requests
> around a cluster of machines - remote machines will only run the
> activation code and manage the metadata independently. We just pass
> UUIDs through the cluster communication layer, never metadata itself.
Oooh - kay. I've only been looking at _file..() operations. In the
clustered version that sounds much more obvious.
> > Second: why isn't that memory freed after returning from
> > activate_lv?
>
> It's released after processing the whole command. If there are cases
> where too much is still being held while processing in the *current*
> version of the code, then yes, you might be able to free parts of it
> sooner.
I've been running on CVS today. The situation appears to have improved,
but only slightly. Still way to much memory going down the drain.
BTW: Did CVS change the memlocking policy? I just noticed that I can run
beyond physical RAM now. Is that a bug or a feature?
I had a very long look at the path down activate/deactivate() in general
and the dm storage allocator in particular. If I nail a separate per-LV
pool over the cmd_context in _activate_lvs_in_vg() and empty it once per
cycle, things slow down a little [1], but the general problem vanishes.
Now, overriding cmd->mem isn't exactly beautiful. Any better
suggestions? I need this fixed. And soon. :}
Second is revisions: I suppose something like the above would work as a
patch into elderly source RPMs as well. Such as the .26 I mentioned in
my original post. Any tips on this? I'd consider upgrading, but I've see
your advise against that on debian's launchpad, at least regarding .38
and .39. Which is hip?
So far, thank you very much again.
Best,
Daniel
[1] For a stack-alike allocator, I think dm_pool_free() generates a
rather scary number of individual brk()s while rewinding. But that's
certainly not a functional issue, and I may, again, be mistaken.
next prev parent reply other threads:[~2008-07-15 6:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-12 5:57 [linux-lvm] vgchange -a memory consumption Daniel Stodden
2008-07-12 16:51 ` Alasdair G Kergon
2008-07-15 6:19 ` Daniel Stodden [this message]
2008-07-16 16:48 ` [PATCH] " Daniel Stodden
[not found] ` <20080716165243.GM7155@agk.fab.redhat.com>
[not found] ` <1216228176.1130.13.camel@desktop>
[not found] ` <20080716174240.GN7155@agk.fab.redhat.com>
[not found] ` <1216231344.16876.25.camel@desktop>
2008-07-16 18:08 ` Daniel Stodden
2008-07-16 20:39 ` [PATCH2] " Daniel Stodden
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=1216102784.3751.78.camel@desktop \
--to=daniel.stodden@citrix.com \
--cc=linux-lvm@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox