Flexible I/O Tester development
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Roger Sibert <Roger_Sibert@xyratex.com>
Cc: fio@vger.kernel.org
Subject: Re: segfault runninng fio against 2048 jobs
Date: Wed, 18 Apr 2012 20:42:32 +0200	[thread overview]
Message-ID: <4F8F0B18.806@kernel.dk> (raw)
In-Reply-To: <0FEAAA2D70C89D49A62173478A6C4A5D02DECCC6@XYUS-EX22.xyus.xyratex.com>

On 2012-04-18 20:16, Roger Sibert wrote:
> Hello Jens,
> 
> Not sure if this is a red herring or not.
> 
> I did a quick check using valgrind with its memcheck on the 1 job sample
> and noted that there appears to be a small memory leak which gets
> noticeably worse when you run against a larger job configuration.
> 
> All the leaks appear to be the same originating line of code so just a
> snippet of the valgrind output is included below.
> 
> 1 job configuration file
> ==19277== 168 bytes in 1 blocks are definitely lost in loss record 9 of
> 10
> ==19277==    at 0x4A0610C: malloc (vg_replace_malloc.c:195)
> ==19277==    by 0x408A44: load_ioengine (ioengines.c:148)
> ==19277==    by 0x409BE2: ioengine_load (init.c:694)
> ==19277==    by 0x409F79: add_job (init.c:765)
> ==19277==    by 0x40BD26: parse_jobs_ini (init.c:1135)
> ==19277==    by 0x40C059: parse_options (init.c:1602)
> ==19277==    by 0x4082F3: main (fio.c:104)
> ==19277==
> .
> .
> ==19277==
> ==19277== LEAK SUMMARY:
> ==19277==    definitely lost: 211 bytes in 6 blocks
> ==19277==    indirectly lost: 0 bytes in 0 blocks
> ==19277==      possibly lost: 272 bytes in 1 blocks
> ==19277==    still reachable: 12 bytes in 3 blocks
> ==19277==         suppressed: 0 bytes in 0 blocks
> ==19277== Reachable blocks (those to which a pointer was found) are not
> shown.
> ==19277== To see them, rerun with: --leak-check=full
> --show-reachable=yes
> 
> 
> 2048 job configuration file.
> ==19365== 50,618,216 (311,144 direct, 50,307,072 indirect) bytes in
> 2,047 blocks are definitely lost in loss record 22 of 22
> ==19365==    at 0x4A0610C: malloc (vg_replace_malloc.c:195)
> ==19365==    by 0x42DA03: setup_log (iolog.c:499)
> ==19365==    by 0x40A9DD: add_job (init.c:846)
> ==19365==    by 0x40BD26: parse_jobs_ini (init.c:1135)
> ==19365==    by 0x40C059: parse_options (init.c:1602)
> ==19365==    by 0x4082F3: main (fio.c:104)
> ==19365==
> ==19365== LEAK SUMMARY:
> ==19365==    definitely lost: 1,843,954 bytes in 22,523 blocks
> ==19365==    indirectly lost: 201,154,560 bytes in 8,185 blocks
> ==19365==      possibly lost: 73,728 bytes in 3 blocks
> ==19365==    still reachable: 580 bytes in 4 blocks
> ==19365==         suppressed: 0 bytes in 0 blocks

Yes, there are a few minor leaks that could grow based on number of
jobs. But it's only really a concern if you run fio as a server backend,
otherwise it's nicely freed when the job is done. And it's not leaking
while a job is running either, it's "just" some of the initialization
memory that isn't freed explicitly on exit.


-- 
Jens Axboe


  reply	other threads:[~2012-04-18 18:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-17 21:05 segfault runninng fio against 2048 jobs Roger Sibert
2012-04-18  7:23 ` Jens Axboe
2012-04-18  9:02   ` Roger Sibert
2012-04-18 17:27   ` Roger Sibert
2012-04-18 18:16     ` Roger Sibert
2012-04-18 18:42       ` Jens Axboe [this message]
2012-04-18 18:39     ` Jens Axboe
2012-04-18 19:46       ` Roger Sibert
2012-04-20  6:40         ` Jens Axboe
2012-04-20 14:21           ` Roger Sibert
2012-04-20 14:27             ` Jens Axboe
2012-04-20 16:22               ` Steven Lang
2012-04-20 17:22                 ` Jens Axboe

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=4F8F0B18.806@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=Roger_Sibert@xyratex.com \
    --cc=fio@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