From: Eric Sandeen <sandeen@redhat.com>
To: Zeev Tarantov <zeev.tarantov@gmail.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: problem(?) in ext4 or mke2fs
Date: Sun, 03 Apr 2011 11:40:52 -0700 [thread overview]
Message-ID: <4D98BF34.6040503@redhat.com> (raw)
In-Reply-To: <BANLkTi=gE-utOo479RU8qcWM99NpBrFmvQ@mail.gmail.com>
On 4/3/11 11:07 AM, Zeev Tarantov wrote:
> While testing zram I ran a script that creates a block devices,
> creates a filesystem on in and untars Qt on that filesystem.
> I was surprised to find ext4_mb_scan_aligned near the top of the profile output.
> This was evidently because the command "mke2fs -t ext4 -m 0 -I 128 -O
> ^has_journal,^ext_attr <block device>"
> created a filesystem with (output of tune2fs):
> RAID stride: 1
> RAID stripe width: 1
mke2fs queries the block device for its geometry, based on what is
reported via sysfs:
/*
* Sets the geometry of a device (stripe/stride), and returns the
* device's alignment offset, if any, or a negative error.
*/
static int get_device_geometry( ...
...
min_io = blkid_topology_get_minimum_io_size(tp);
opt_io = blkid_topology_get_optimal_io_size(tp);
...
fs_param->s_raid_stride = min_io / blocksize;
fs_param->s_raid_stripe_width = opt_io / blocksize;
What does
# blockdev --getiomin --getioopt /dev/<yourdevice>
say for your device?
The device may be reporting odd values, but mke2fs probably
should be smart enough not to set block-sized stripe unit and width...
-Eric
> I thought this strange and removed these values using debugfs:
> set_super_value raid_stride 0
> set_super_value raid_stripe_width 0
>
> With this "fix" the symbol ext4_mb_scan_aligned disappeared from perf's output:
>
> 18.98% -3.66% gzip [.] zip
> 0.00% +14.84% [kernel.kallsyms] [k] ext4_mb_scan_aligned
> 17.91% -3.44% gzip [.]
> treat_file.part.4.2264
> 13.73% -2.47% [csnappy_compress] [k]
> snappy_compress_fragment
> 3.96% -0.77% [kernel.kallsyms] [k]
> copy_user_generic_string
> 3.05% -0.41% libc-2.13.so [.] __memcpy_ssse3
> 0.89% +1.49% [kernel.kallsyms] [k] _raw_spin_lock
> 2.63% -0.49% [kernel.kallsyms] [k] __memcpy
> 1.61% -0.17% [kernel.kallsyms] [k] __memset
> 0.78% -0.11% [kernel.kallsyms] [k] ext4_mark_iloc_dirty
> 0.63% -0.11% [kernel.kallsyms] [k] system_call
> 0.66% -0.14% gzip [.] treat_stdin.2262
> 0.58% -0.12% libc-2.13.so [.] _int_malloc
>
> This is using mke2fs 1.41.14 (22-Dec-2010) on Linux 2.6.38.2.
>
> Is this expected behavior? Do you need me to provide more information?
>
> regards,
> -Z.T.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-04-03 18:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-03 18:07 problem(?) in ext4 or mke2fs Zeev Tarantov
2011-04-03 18:40 ` Eric Sandeen [this message]
2011-04-03 18:52 ` Zeev Tarantov
2011-04-03 18:56 ` Eric Sandeen
2011-04-03 19:01 ` Zeev Tarantov
2011-04-03 19:21 ` Eric Sandeen
2011-04-04 0:40 ` Andreas Dilger
2011-04-04 0:50 ` Andreas Dilger
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=4D98BF34.6040503@redhat.com \
--to=sandeen@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=zeev.tarantov@gmail.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.