You are not logged in.

#1 2016-05-21 23:04:58

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Anyone else running a Samsung 950 Pro?

For those running it @ PCIe 3.0 4x, would you mind posting a quick benchmark?  You can grab iozone from the AUR.  My results on an 4ext file system:

% iozone -e -I -a -s 10M -r 4k -i 0 -i 1 -i 2

Just a quick 10 MB file read and write test.  I ran it 3 times.

                                                              random    random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite   
           10240       4   256179   296262   321619   366988    60181   258892
           10240       4   256089   292220   324440   372175    62855   233257
           10240       4   227819   294998   305572   347943    62760   213239

CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#2 2016-05-22 17:44:38

johnp
Member
Registered: 2013-12-22
Posts: 7

Re: Anyone else running a Samsung 950 Pro?

Btrfs on Fedora 24 (same options)  hmm

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   141181   138513   221774   240659    47423    94889  
           10240       4   142861   160794   215992   235640    48769   103616
           10240       4   102301   159124   197305   240976    57110   150376

(Linux 4.5.4-300.fc24.x86_64)

`iozone -a` is about a magnitude better.

Offline

#3 2016-05-22 18:56:47

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: Anyone else running a Samsung 950 Pro?

johnp wrote:

Btrfs on Fedora 24 (same options)  hmm

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   141181   138513   221774   240659    47423    94889  
           10240       4   142861   160794   215992   235640    48769   103616
           10240       4   102301   159124   197305   240976    57110   150376

(Linux 4.5.4-300.fc24.x86_64)

`iozone -a` is about a magnitude better.

@johnp - Is your 950 connected to a PCIe 3.0 4x compat. board or PCIe 2.0?  Unless BTRFS is the blame for the lower throughput, I can't explain the data you got.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#4 2016-05-23 18:28:42

johnp
Member
Registered: 2013-12-22
Posts: 7

Re: Anyone else running a Samsung 950 Pro?

graysky wrote:

@johnp - Is your 950 connected to a PCIe 3.0 4x compat. board or PCIe 2.0?  Unless BTRFS is the blame for the lower throughput, I can't explain the data you got.

@graysky: PCIe 3.0. It's a Fujitsu D3417-B running an Intel E3-1225 v5.

Just ran the same command on the ext4 boot partition:

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   202639   194344   283154   280156    52681   186222
           10240       4   210487   240182   273936   244386    53022   160715
           10240       4   213235   268978   289315   293661    53291   166023

So looks like Btrfs is at least one of the reasons. I assume you used your 4.5.x-ck kernel?
If not, I could check against the rawhide kernel. Any relevant mount options?

Offline

#5 2016-05-23 19:03:37

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: Anyone else running a Samsung 950 Pro?

My mount options are pretty basic: defaults,relatime,discard  The test machine is on 4.5.5-ck-1 but the results are similar to 4.5.5-ARCH-1 (which I compiled since 4.5.4 is the latest in [core].  Your numbers are lower though...

I am using blk-mq which does make a difference in my experience. You can easily set it in your boot loader by the kernel command: scsi_mod.use_blk_mq=1 ... in testing it against the various schedulers on my older 840 Pro SSD (SATA3), I found it as-good or better-than cfq for read, rnd read, and rnd-wright operations; haven't yet tested it on my new 950 Pro.  Anyway, you wanna try it on your kernel and see if you notice a speed-up?

Last edited by graysky (2016-05-23 19:04:10)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#6 2016-05-23 20:55:01

johnp
Member
Registered: 2013-12-22
Posts: 7

Re: Anyone else running a Samsung 950 Pro?

Seems Fedora or Anaconda already enabled blk-mq for the nvme device and adding the kernel command line option only changes the dvd burner to use it too ?! Anyway, it's in `/sys/class/nvme/nvme0/nvme0n1/mq/` and ` /sys/class/nvme/nvme0/nvme0n1/queue/scheduler`==none.
Just booted into 4.6.0 from the kernel-stabilization copr, but only see regressions.

ext4:

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   200207   209001   188363   185961    51445   143355     
           10240       4   189370   218192   187298   188533    51276   152080     
           10240       4   201408   203570   215053   209055    51563   136911  
           10240       4   196794   204989   207522   260388    52870   143693 
           10240       4   200665   231837   225352   225535    51678   147737   

Btrfs:

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   127513   164168   208851   141046    44105    94983  
           10240       4   113190   160443   219926   207065    45133    98466  
           10240       4    79760   159531   222695   205941    44367   102881   
           10240       4    93245   150637   229072   160645    43898    90747 
           10240       4   117941   164215   200023   117269    44169    93656

Adjusted mount-options, enabled discard and ran fstrim on ext4 and defrag+balance on btrfs, no significant changes.
Booted back into 4.5.4, same as before.  Waiting for bodhi to mash the 4.5.5 update, but I don't really expect a change hmm
Any UEFI-Tuning on your machine, aka disabled SpeedStep or Turboboost?
CPU with Hyperthreading, allowing blk-mq to run more queues (I should probably have gone with the E3-1245v5...)? If yes and you have the time, could you try disabling?
If nothing explains the difference I'll boot an Arch Live ISO once I'm at the location on Wednesday or Thursday. Now I really want to solve this wink

Offline

#7 2016-05-23 21:30:06

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: Anyone else running a Samsung 950 Pro?

@johnp - No special tuning that I am aware of... not even overclocking the system.  SS and TB are enabled as are all CPU options of which I am aware.  My CPU is an i7-4970k and my motherboard is a Z97 chipset but I don't know if that matters for this... I can disable HT and blk-mq and post back.

EDIT: OK... HT disabled and I removed the scsi_mod.use_blk_mq=1 from my kernel option but catting the following suggests there are no schedulers for the device.  I am rather new to NVMe stuff so perhaps normal schedulers (noop, deadline, cfq) don't apply to them?

% cat /sys/class/nvme/nvme0/nvme0n1/queue/scheduler 
none
                                                              random    random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   250881   253797   320743   367761    62629   219404
           10240       4   252271   294982   320419   368876    59978   255411                                                                
           10240       4   247928   291040   323682   369396    62706   230387

Last edited by graysky (2016-05-23 21:38:37)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#8 2016-05-23 21:37:36

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: Anyone else running a Samsung 950 Pro?

It's almost behaving like your system is not using PCIe 3.0 4x...

Here are the numbers of my system using the built in M.2 port with is only PCIe 2.0 2x (my PCIe 3.0 is due to the addon controller which is in a PCIe 3.0 4x slot):

                                                              random    random     bkwd    record    stride
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   175345   195494   216075   235960    57218   165741
           10240       4   176274   173753   223283   244699    60472   191932
           10240       4   176054   195360   228790   251504    60457   190663

There your system is mostly faster by about 20% with the exception of the rnd read and rnd write (12% slower and 7% slower respectively).

Last edited by graysky (2016-05-24 00:50:48)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#9 2016-05-24 00:52:36

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Anyone else running a Samsung 950 Pro?

This [1-2] might be related, I know yours are not nucs but you never know if the problem is not somewhat similar. But it might also be something else entirely.

[1] http://www.anandtech.com/show/10327/int … ylake-nucs
[2] http://anandtech.com/show/10303/choosin … keu-system


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#10 2016-05-26 00:02:26

crispyambulance
Member
Registered: 2016-05-12
Posts: 5

Re: Anyone else running a Samsung 950 Pro?

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frew
           10240       4   138152   199516   222328   259747    56919   182840  
           10240       4   142683   197969   222193   237674    56385   174833  
           10240       4   151704   202140   234015   264325    55500   169831   

This is on an old Z68 mobo with Award BIOS.  It's supposed to have PCI-E 3.0, but I'm not sure I trust Gigabyte to have got that working with no bugs or issues based on other things I heard about that era of motherboards by them.  I'll try switching the PCI-E slot and running it with blk-mq tomorrow.  Partition is ext4.

Having moved the SSD to the slot originally for the video card:

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4   200355   248930   317065   318644    57834   186928         
           10240       4   176872   237685   239503   244554    59231   199933      
           10240       4   163078   231162   245099   256217    56433   167303 
           10240       4   167205   231433   297355   307414    59026   200500    

Then I decided to try 100M instead of 10.

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4   230198   241831   321506   321869    57324   261362        
          102400       4   202448   284097   323116   271993    56457   230738

Last edited by crispyambulance (2016-05-26 21:00:41)

Offline

#11 2016-06-04 06:03:22

zenlord
Member
From: Belgium
Registered: 2006-05-24
Posts: 1,221
Website

Re: Anyone else running a Samsung 950 Pro?

graysky wrote:

My mount options are pretty basic: defaults,relatime,discard

@graysky Careful with the discard option on NVMe - the wiki advices to drop that option in favour of a fstrim-cronjob: https://wiki.archlinux.org/index.php/So … rives/NVMe
I'm no expert myself, so I just followed the wiki...
Manual run: systemctl start fstrim.service
Recurring run: systemctl enable fstrim.timer

Last edited by zenlord (2016-06-04 06:09:10)

Offline

#12 2016-06-04 13:05:08

zenlord
Member
From: Belgium
Registered: 2006-05-24
Posts: 1,221
Website

Re: Anyone else running a Samsung 950 Pro?

I think my Dell XPS 13 9350 also contains a 256G Samsung 950 Pro:

# lsblk -o MODEL
PM951 NVMe SAMSUNG 256GB 

PCIe busses:

# lspci -vv | grep -E 'PCI bridge|LnkCap'
00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1) (prog-if 00 [Normal decode])
		LnkCap:	Port #1, Speed 8GT/s, Width x2, ASPM L1, Exit Latency L0s unlimited, L1 <16us
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1) (prog-if 00 [Normal decode])
		LnkCap:	Port #5, Speed 8GT/s, Width x1, ASPM L1, Exit Latency L0s <1us, L1 <16us
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1) (prog-if 00 [Normal decode])
		LnkCap:	Port #6, Speed 8GT/s, Width x1, ASPM L1, Exit Latency L0s <1us, L1 <16us
00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1) (prog-if 00 [Normal decode])
		LnkCap:	Port #9, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L0s <1us, L1 <16us
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L1, Exit Latency L0s <4us, L1 <8us
		LnkCap:	Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
		LnkCap:	Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L0s <4us, L1 <64us

I'm using BTRFS on my / partition, and this is the result of the iozone command:

                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
           10240       4    96553   124327   180761   201721    39089    94681                                                                
           10240       4   113408   121800   169938   181860    39924   109458                                                                
           10240       4   111499   115368   178093   202876    39009    84114                                                                

Stock kernel and scheduler.
Mount options: btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)

Any hints on optimization? tongue

Last edited by zenlord (2016-06-04 13:06:19)

Offline

Board footer

Powered by FluxBB