All of lore.kernel.org
 help / color / mirror / Atom feed
From: Waiman Long <waiman.long@hp.com>
To: Dave Chinner <david@fromorbit.com>
Cc: Jason Low <jason.low2@hp.com>, Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, Davidlohr Bueso <davidlohr@hp.com>,
	Scott J Norton <scott.norton@hp.com>
Subject: Re: [PATCH 2/7] locking/rwsem: more aggressive use of optimistic spinning
Date: Fri, 15 Aug 2014 13:58:09 -0400	[thread overview]
Message-ID: <53EE4A31.5080407@hp.com> (raw)
In-Reply-To: <20140815033447.GJ20518@dastard>

On 08/14/2014 11:34 PM, Dave Chinner wrote:
>
> <create sparse vm image file of 500TB on ssd with XFS on it>
> xfs_io -f -c "truncate 500t" -c "extsize 1m" /path/to/vm/image/file
>
> <start 16p/16GB RAM vm with image file configured as:
> -drive file=/path/to/vm/image/file,if=virtio,cache=none>
>
> In vm:
>
> download and build fsmark from here:
>
> git://oss.sgi.com/dgc/fs_mark
>
> download and install xfsprogs v3.2.1 from here:
>
> git://oss.sgi.com/xfs/cmds/xfsprogs.git tags/v3.2.1
>
> Setup up the target filesystem:
>
> # mkfs.xfs -f -m "crc=1,finobt=1" /dev/vda
> # mount -o logbsize=262144,nobarrier /dev/vda /mnt/scratch
>
>
> Run:
>
> # fs_mark  -D  10000  -S0  -n  50000  -s  0  -L  32 \
>          -d  /mnt/scratch/0  -d  /mnt/scratch/1 \
>          -d  /mnt/scratch/2  -d  /mnt/scratch/3 \
>          -d  /mnt/scratch/4  -d  /mnt/scratch/5 \
>          -d  /mnt/scratch/6  -d  /mnt/scratch/7 \
>          -d  /mnt/scratch/8  -d  /mnt/scratch/9 \
>          -d  /mnt/scratch/10  -d  /mnt/scratch/11 \
>          -d  /mnt/scratch/12  -d  /mnt/scratch/13 \
>          -d  /mnt/scratch/14  -d  /mnt/scratch/15 \
>
> If you've got everything set up right, that should run at around
> 200-250,000 file creates/s. When finished, unmount and run:
>
> # xfs_repair -o bhash=500000 /dev/vda
>
> And that should spend quite a long while pounding on the mmap_sem
> until the the userspace buffer cache stops growing.
>
> I just ran the above on 3.16, saw this from perf:
>
>    37.30%  [kernel]  [k] _raw_spin_unlock_irqrestore
>     - _raw_spin_unlock_irqrestore
>        - 62.00% rwsem_wake
>           - call_rwsem_wake
>              + 83.52% sys_mprotect
>              + 16.23% __do_page_fault
>        + 35.15% try_to_wake_up
>        + 0.96% update_blocked_averages
>        + 0.61% pagevec_lru_move_fn
> -  23.35%  [kernel]  [k] _raw_spin_unlock_irq
>     - _raw_spin_unlock_irq
>        + 51.37% finish_task_switch
>        + 39.37% rwsem_down_write_failed
>        + 8.49% rwsem_down_read_failed
>          0.62% run_timer_softirq
> +   5.22%  [kernel]  [k] native_read_tsc
> +   3.89%  [kernel]  [k] rwsem_down_write_failed
> .....
>
> Cheers,
>
> Dave.
>

Thank for the testing recipe. I am afraid that I can't find a 500TB SSD 
for testing purpose. Do you think the test will still be valid for 
exercising rwsem if I use a smaller SSD or maybe mechanical hard disk?

-Longman

  reply	other threads:[~2014-08-15 17:58 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-04  2:36 [PATCH 0/7] locking/rwsem: enable reader opt-spinning & writer respin Waiman Long
2014-08-04  2:36 ` [PATCH 1/7] locking/rwsem: don't resched at the end of optimistic spinning Waiman Long
2014-08-04  7:55   ` Peter Zijlstra
     [not found]     ` <20140804075528.GI9918-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2014-08-04 18:36       ` Waiman Long
2014-08-04 18:36         ` Waiman Long
2014-08-04 20:48         ` Peter Zijlstra
2014-08-04 21:12           ` Jason Low
2014-08-05 17:54           ` Waiman Long
2014-08-05 17:54             ` Waiman Long
2014-08-04  2:36 ` [PATCH 3/7] locking/rwsem: check for active writer/spinner before wakeup Waiman Long
     [not found]   ` <1407119782-41119-4-git-send-email-Waiman.Long-VXdhtT5mjnY@public.gmane.org>
2014-08-04 21:20     ` Jason Low
2014-08-04 21:20       ` Jason Low
2014-08-05 17:56       ` Waiman Long
2014-08-05 17:56         ` Waiman Long
2014-08-04  2:36 ` [PATCH 4/7] locking/rwsem: threshold limited spinning for active readers Waiman Long
     [not found]   ` <1407119782-41119-5-git-send-email-Waiman.Long-VXdhtT5mjnY@public.gmane.org>
2014-08-05  4:54     ` Davidlohr Bueso
2014-08-05  4:54       ` Davidlohr Bueso
2014-08-05  5:30       ` Davidlohr Bueso
     [not found]         ` <1407216632.2566.22.camel-5JQ4ckphU/8SZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
2014-08-05  5:41           ` Davidlohr Bueso
2014-08-05  5:41             ` Davidlohr Bueso
2014-08-05 18:14       ` Waiman Long
2014-08-04  2:36 ` [PATCH 5/7] locking/rwsem: move down rwsem_down_read_failed function Waiman Long
2014-08-04  2:36 ` [PATCH 6/7] locking/rwsem: enables optimistic spinning for readers Waiman Long
2014-08-04  2:36 ` [PATCH 7/7] locking/rwsem: allow waiting writers to go back to optimistic spinning Waiman Long
     [not found] ` <1407119782-41119-1-git-send-email-Waiman.Long-VXdhtT5mjnY@public.gmane.org>
2014-08-04  2:36   ` [PATCH 2/7] locking/rwsem: more aggressive use of " Waiman Long
2014-08-04  2:36     ` Waiman Long
2014-08-04  4:09     ` Davidlohr Bueso
     [not found]     ` <1407119782-41119-3-git-send-email-Waiman.Long-VXdhtT5mjnY@public.gmane.org>
2014-08-04  4:10       ` Jason Low
2014-08-04  4:10         ` Jason Low
2014-08-04 15:44         ` Waiman Long
2014-08-13  5:51           ` Dave Chinner
2014-08-13 16:41             ` Waiman Long
2014-08-15  3:34               ` Dave Chinner
2014-08-15 17:58                 ` Waiman Long [this message]
2014-08-16  7:40                   ` Mike Galbraith
2014-08-17 23:41                   ` Dave Chinner
2014-08-18 22:48                     ` Waiman Long
2014-08-04  4:25   ` [PATCH 0/7] locking/rwsem: enable reader opt-spinning & writer respin Davidlohr Bueso
2014-08-04  4:25     ` Davidlohr Bueso
     [not found]     ` <1407126313.3216.10.camel-5JQ4ckphU/8SZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
2014-08-04 18:07       ` Waiman Long
2014-08-04 18:07         ` Waiman Long

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=53EE4A31.5080407@hp.com \
    --to=waiman.long@hp.com \
    --cc=david@fromorbit.com \
    --cc=davidlohr@hp.com \
    --cc=jason.low2@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=scott.norton@hp.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.