So it a stack

https://reviews.freebsd.org/D59151 and https://reviews.freebsd.org/D59152  are 
bugs that need to be backported

They cause a wedge/stall under certain conditions

The next 2 53/54 are for all NVMe's, 54 trigger in controllers that advertise a 
non zero MAXCMD.

Then 55 this is the one that touches every brand. It programs the Arbitration 
feature from Identify RAB on all
non-quirked controllers. Both Apple controllers have QUIRK_IGNORE_RAB because 
they wedged under load.

56 are just Apple dequirkage for T1 drives...  When i fixed the Apple T2 Nvme 
in D57087, it broke T1 (that used to work), so i had to patch it and depatch it.

So if you want benchmark, you need to test between 15.1 and 16-Current with 
these patches.

I observed the improvement across multiple setup, most consumer drive were ok.  

run 'sudo nvmecontrol identify nvme0'  

You will see something like 'Recommended Arb Burst:       2'  <-- here 2

>From 0-7 (except 4 (i dont have 4)) i tested all.  6-7  are the top performers 
>with the new code. Anything over it is not tested but it already clamped. 
>(Also my tests were just copying a lot of files across the drive)

So in short this stack is 2 bug fixes, 2 conformance commits and 2 fixes for 
apple nvme that don't respect the spec.

Best.
Abdelkader

Reply via email to