lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110804141210.GA429@redhat.com>
Date:	Thu, 4 Aug 2011 10:12:10 -0400
From:	Vivek Goyal <vgoyal@...hat.com>
To:	Gui Jianfeng <guijianfeng@...fujitsu.com>
Cc:	Shaohua Li <shli@...nel.org>, Jens Axboe <jaxboe@...ionio.com>,
	linux-kernel@...r.kernel.org
Subject: Re: fio posixaio performance problem

On Thu, Aug 04, 2011 at 03:44:55PM +0800, Gui Jianfeng wrote:

[..]
> > oh, not related per your blktrace. so we have two problems here:
> > 1. fio doesn't dispatch request in 8ms.
> > 2. no close request preempt.
> 
> Yes, these're actual factors why performance is so bad.
> 
> > both looks quite wield. can you post a longer blktrace output, like
> > for one second? the piece is too short.
> 
> Attached.

Gui, few observations from you log file.

- preemption happened 1631 times and did not happen 527 times and idle
  timer fired.

- In some cases where preemption did not happen, next request seems to
  be too far away (more than CFQQ_CLOSE_THR=8K sectors).

- I noticed couple of cases where next request was with-in 8K distanace
  still preemption did not happen. This makes me curious. Can you please
  put some trace messages in should_preempt() and rq_close() call and see
  what's going on?

For example, following trace shows that next request is 5176 sector behind
the previous one completed. I am wondering why did preemption not take
place.

  8,0    0      606     2.751892651 16420  D   W 512146800 + 8 [fio]
  8,0    2      579     2.752127950     0  C   W 512146800 + 8 [0]

  8,0    0      609     2.752235995 16421  Q  WS 512141624 + 8 [fio]
  8,0    0      610     2.752238859 16421  G  WS 512141624 + 8 [fio]
  8,0    0      612     2.752243818 16421  I   W 512141624 + 8 [fio]
  8,0    0        0     2.752246262     0  m   N cfq16421S / insert_request
  8,0    0        0     2.752247729     0  m   N cfq16421S / add_to_rr
  8,0    2        0     2.759710295     0  m   N cfq idle timer fired

Putting some extra trace messages in CFQ might help here. BTW, which 
kernel version are you using? 3.0?

Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ