From: Sebastian Riemer <sebastian.riemer@profitbricks.com>
To: Linux RAID <linux-raid@vger.kernel.org>
Cc: Sebastian Riemer <sebastian.riemer@profitbricks.com>
Subject: Re: mdadm 3.2.5: Assemble doesn't scale correctly
Date: Tue, 16 Oct 2012 13:44:52 +0200 [thread overview]
Message-ID: <507D48B4.305@profitbricks.com> (raw)
In-Reply-To: <507C3618.4030603@profitbricks.com>
Hi list,
we solved this by custom patches once again.
We added a parameter to "dev_open" to select whether we want "map_dev"
to be called or not.
In "create_mddev" from mdopen.c we trigger that "map_dev" isn't called
if the device name is /dev/mdX.
If such a device is already running is checked before in /proc/mdstat.
The SCSI tape driver has got the same major but as a char device - we
don't use it anyway. So there isn't much risk for us at least.
Because there could be cases we haven't thought of and the
implementation is possibly not the best way, it remains a custom fix and
I'm not sending any patches.
Btw.: The strace of the assembly dropped from >2000 to approx. 300 lines
on my PC.
Cheers,
Sebastian
On 15.10.2012 18:13, Sebastian Riemer wrote:
> Hi list,
>
> the mdadm 3.2.5 assemble command doesn't scale correctly.
>
> First, I've tested simple stuff with "strace" like this one:
>
> # mdadm -A /dev/md0 /dev/loop0 /dev/loop1
>
> This also scans imsm superblocks by reading files from "/sys/bus/pci".
> Let's set it explicitly to 1.2:
>
> # mdadm -A /dev/md0 -e 1.2 /dev/loop0 /dev/loop1
>
> This results in approx. 100 lines less strace output.
>
>
> But now the big performance killer:
>
> Assemble()->open_dev_excl()->dev_open("%d:%d")->map_dev()
>
> Why does this have to scan the whole "/dev" directory - not finding any
> device with the same/wanted major:minor? Isn't there a better method?
>
> It takes longer and longer the more devices are in /dev.
>
> Cheers,
> Sebastian
prev parent reply other threads:[~2012-10-16 11:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-15 16:13 mdadm 3.2.5: Assemble doesn't scale correctly Sebastian Riemer
2012-10-16 11:44 ` Sebastian Riemer [this message]
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=507D48B4.305@profitbricks.com \
--to=sebastian.riemer@profitbricks.com \
--cc=linux-raid@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).