• Chaitanya Kulkarni's avatar
    nvmet: use xarray for ctrl ns storing · 7774e77e
    Chaitanya Kulkarni authored
    This patch replaces the ctrl->namespaces tracking from linked list to
    xarray and improves the performance when accessing one namespce :-
    
    XArray vs Default:-
    
    IOPS and BW (more the better) increase BW (~1.8%):-
    ---------------------------------------------------
    
     XArray :-
      read:  IOPS=160k,  BW=626MiB/s  (656MB/s)(18.3GiB/30001msec)
      read:  IOPS=160k,  BW=626MiB/s  (656MB/s)(18.3GiB/30001msec)
      read:  IOPS=162k,  BW=631MiB/s  (662MB/s)(18.5GiB/30001msec)
    
     Default:-
      read:  IOPS=156k,  BW=609MiB/s  (639MB/s)(17.8GiB/30001msec)
      read:  IOPS=157k,  BW=613MiB/s  (643MB/s)(17.0GiB/30001msec)
      read:  IOPS=160k,  BW=626MiB/s  (656MB/s)(18.3GiB/30001msec)
    
    Submission latency (less the better) decrease (~8.3%):-
    -------------------------------------------------------
    
     XArray:-
      slat  (usec):  min=7,  max=8386,  avg=11.19,  stdev=5.96
      slat  (usec):  min=7,  max=441,   avg=11.09,  stdev=4.48
      slat  (usec):  min=7,  max=1088,  avg=11.21,  stdev=4.54
    
     Default :-
      slat  (usec):  min=8,   max=2826.5k,  avg=23.96,  stdev=3911.50
      slat  (usec):  min=8,   max=503,      avg=12.52,  stdev=5.07
      slat  (usec):  min=8,   max=2384,     avg=12.50,  stdev=5.28
    
    CPU Usage (less the better) decrease (~5.2%):-
    ----------------------------------------------
    
     XArray:-
      cpu  :  usr=1.84%,  sys=18.61%,  ctx=949471,  majf=0,  minf=250
      cpu  :  usr=1.83%,  sys=18.41%,  ctx=950262,  majf=0,  minf=237
      cpu  :  usr=1.82%,  sys=18.82%,  ctx=957224,  majf=0,  minf=234
    
     Default:-
      cpu  :  usr=1.70%,  sys=19.21%,  ctx=858196,  majf=0,  minf=251
      cpu  :  usr=1.82%,  sys=19.98%,  ctx=929720,  majf=0,  minf=227
      cpu  :  usr=1.83%,  sys=20.33%,  ctx=947208,  majf=0,  minf=235.
    Signed-off-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    7774e77e
nvmet.h 14.7 KB