All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephane Chazelas <stephane_chazelas@yahoo.fr>
To: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: write(2) taking 4s. (Was: Memory leak?)
Date: Sat, 16 Jul 2011 13:12:10 +0100	[thread overview]
Message-ID: <20110716121210.GA5638@yahoo.fr> (raw)
In-Reply-To: <20110711090121.GA2537@yahoo.fr>

[-- Attachment #1: Type: text/plain, Size: 4283 bytes --]

Still on my btrfs-based backup system. I still see one BUG()
reached in btrfs-fixup per boot time, no memory exhaustion
anymore. There is now however something new: write performance
is down to a few bytes per second.

I've got a few processes (rsync, patched ntfsclone, shells
mostly) writing to files at the same time on this server.

disk stats per second:

--dsk/sda-----dsk/sdb-----dsk/sdc--
 read  writ: read  writ: read  writ
 264k   44k: 193k   44k: 225k   42k
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0    60k:   0     0 :   0     0
   0    12k:   0  1176k:   0  1164k
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0    40k:   0     0 :8192B    0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :4096B    0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
 324k    0 : 248k    0 : 548k    0
   0  4096B:   0     0 :   0     0
 352k    0 :   0     0 :   0     0
   0     0 :   0     0 :   0     0
   0     0 :   0     0 :4096B    0
   0     0 :   0     0 :   0     0
   0    80k:   0     0 :   0     0

rsync:

# strace -Ts0 -p 5015
Process 5015 attached - interrupt to quit
write(3, ""..., 1024)                   = 1024 <0.007700>
write(3, ""..., 1024)                   = 1024 <0.015822>
write(3, ""..., 1024)                   = 1024 <0.031853>
write(3, ""..., 1024)                   = 1024 <0.015881>
write(3, ""..., 1024)                   = 1024 <0.015911>
write(3, ""..., 1024)                   = 1024 <0.015796>
write(3, ""..., 1024)                   = 1024 <0.031946>
write(3, ""..., 1024)                   = 1024 <4.083854>
write(3, ""..., 1024)                   = 1024 <0.007925>
write(3, ""..., 1024)                   = 1024 <0.003776>
write(3, ""..., 1024)                   = 1024 <0.031862>
write(3, ""..., 1024)                   = 1024 <0.011807>
write(3, ""..., 1024)                   = 1024 <0.019742>
write(3, ""..., 1024)                   = 1024 <0.015857>
write(3, ""..., 1024)                   = 1024 <0.031833>
write(3, ""..., 1024)                   = 1024 <0.015789>
write(3, ""..., 1024)                   = 1024 <0.015926>
write(3, ""..., 1024)                   = 1024 <4.095967>
write(3, ""..., 1024)                   = 1024 <0.019798>
write(3, ""..., 1024)                   = 1024 <4.083682>
write(3, ""..., 1024)                   = 1024 <0.015398>
write(3, ""..., 1024)                   = 1024 <0.015951>
write(3, ""..., 1024)                   = 1024 <0.035837>
write(3, ""..., 1024)                   = 1024 <0.015962>
write(3, ""..., 1024)                   = 1024 <0.015909>
write(3, ""..., 1024)                   = 1024 <0.015967>
write(3, ""..., 48)                     = 48 <0.003782>
write(3, ""..., 1024)                   = 1024 <0.031802>
write(3, ""..., 1024)                   = 1024 <0.015811>
write(3, ""..., 1024)                   = 1024 <0.015944>
write(3, ""..., 1024)                   = 1024 <0.019810>
write(3, ""..., 1024)                   = 1024 <0.031948>

ntfsclone (patched to only write modified clusters):

# strace -Te write -p 4717
Process 4717 attached - interrupt to quit
write(1, " 65.16 percent completed\r", 25) = 25 <0.008996>
write(1, " 65.16 percent completed\r", 25) = 25 <0.743358>
write(1, " 65.16 percent completed\r", 25) = 25 <0.306582>
write(1, " 65.17 percent completed\r", 25) = 25 <4.082723>
write(1, " 65.17 percent completed\r", 25) = 25 <0.006402>
write(1, " 65.17 percent completed\r", 25) = 25 <0.012582>
write(1, " 65.17 percent completed\r", 25) = 25 <4.052504>
write(1, " 65.17 percent completed\r", 25) = 25 <0.012111>
write(1, " 65.17 percent completed\r", 25) = 25 <0.016001>
write(1, " 65.17 percent completed\r", 25) = 25 <4.028017>
write(1, " 65.18 percent completed\r", 25) = 25 <0.013365>
write(1, " 65.18 percent completed\r", 25) = 25 <0.003963>
(that's writing to a log file)

See how many write(2)s take 4 seconds.

No issue when writing to an ext4 FS.

SMART status on all drives OK.

What else could I look at?

Attached is a sysrq-t output.

-- 
Stephane

[-- Attachment #2: sysrq-t.txt.xz --]
[-- Type: application/octet-stream, Size: 14324 bytes --]

  parent reply	other threads:[~2011-07-16 12:12 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-03 19:09 Memory leak? Stephane Chazelas
2011-07-03 19:38 ` cwillu
2011-07-06  8:11   ` Stephane Chazelas
2011-07-07  8:09     ` Stephane Chazelas
2011-07-07  8:20       ` Li Zefan
2011-07-07  8:37         ` Stephane Chazelas
2011-07-08 12:44     ` Stephane Chazelas
2011-07-08 15:06       ` Chris Mason
2011-07-08 15:41         ` Stephane Chazelas
2011-07-08 16:11           ` Stephane Chazelas
2011-07-08 16:17             ` Chris Mason
2011-07-08 16:57               ` Stephane Chazelas
2011-07-09 17:11               ` Stephane Chazelas
2011-07-08 16:15           ` Chris Mason
2011-07-08 17:06             ` Stephane Chazelas
2011-07-08 20:04             ` Stephane Chazelas
2011-07-08 20:12               ` Chris Mason
2011-07-09  7:09                 ` Stephane Chazelas
2011-07-09  7:42                   ` A lot of writing to FS only read (Was: Memory leak?) Stephane Chazelas
2011-07-10  5:58                   ` Memory leak? Stephane Chazelas
2011-07-09 17:09         ` Stephane Chazelas
2011-07-09 19:25           ` cwillu
2011-07-09 20:36             ` Stephane Chazelas
2011-07-10 12:44               ` Chris Mason
2011-07-10 18:37                 ` Stephane Chazelas
2011-07-11  9:01                   ` Stephane Chazelas
2011-07-11 15:00                     ` Chris Mason
2011-07-11 15:35                       ` Stephane Chazelas
2011-07-11 16:25                         ` Chris Mason
2011-07-11 16:34                           ` Stephane Chazelas
2011-07-12 11:40                     ` Stephane Chazelas
2011-07-16 12:12                     ` Stephane Chazelas [this message]
2011-07-16 16:22                       ` write(2) taking 4s. (Was: Memory leak?) Stephane Chazelas
2011-07-17  9:17                       ` Stephane Chazelas
2011-07-18 10:39                         ` write(2) taking 4s Stephane Chazelas
2011-07-18 19:37                           ` Stephane Chazelas
2011-07-19  9:32                             ` Stephane Chazelas

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=20110716121210.GA5638@yahoo.fr \
    --to=stephane_chazelas@yahoo.fr \
    --cc=linux-btrfs@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 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.