1. 13 12月, 2022 9 次提交
  2. 12 12月, 2022 2 次提交
    • Y
      blk-mq: don't access request_wrapper if request is not allocated from block layer · 9981c33d
      Yu Kuai 提交于
      hulk inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I65K8D
      CVE: NA
      
      --------------------------------
      
      request_wrapper is used to fix kabi broken for request, it's only for
      internal use. This patch make sure out-of-tree drivers won't access
      request_wrapper if request is not managed by block layer.
      Signed-off-by: NYu Kuai <yukuai3@huawei.com>
      Reviewed-by: NHou Tao <houtao1@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      9981c33d
    • Y
      blk-mq: fix kabi broken due to request_wrapper · 31c285dd
      Yu Kuai 提交于
      hulk inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I65K8D
      CVE: NA
      
      --------------------------------
      
      Before commit f60df4a0 ("blk-mq: fix kabi broken in struct
      request"), drivers will got cmd address right after request, however,
      after this commit, drivers will got cmd address after request_wrapper
      instead, which is bigger than request and will cause compatibility
      issues.
      
      Fix the problem by placing request_wrapper behind cmd, so that the
      cmd address for drivers will stay the same.
      
      Before commit:		|request|cmd|
      After commit:		|request|request_wrapper|cmd|
      With this patch:	|request|cmd|request_wrapper|
      
      Performance test: arm64 Kunpeng-920 96 core
      
      1) null_blk setup:
      modprobe null_blk nr_devices=0 &&
          udevadm settle &&
          cd /sys/kernel/config/nullb &&
          mkdir nullb0 &&
          cd nullb0 &&
          echo 0 > completion_nsec &&
          echo 512 > blocksize &&
          echo 0 > home_node &&
          echo 0 > irqmode &&
          echo 1024 > size &&
          echo 0 > memory_backed &&
          echo 2 > queue_mode &&
      	echo 4096 > hw_queue_depth &&
      	echo 96 > submit_queues &&
          echo 1 > power
      
      2) fio test script:
      [global]
      ioengine=libaio
      direct=1
      numjobs=96
      iodepth=32
      bs=4k
      rw=randwrite
      allow_mounted_write=0
      time_based
      runtime=60
      group_reporting=1
      ioscheduler=none
      cpus_allowed_policy=split
      cpus_allowed=0-95
      
      [test]
      filename=/dev/nullb0
      
      3) iops test result:
      
      without this patch:	23.9M
      with this patch:	24.1M
      
      Fixes: f60df4a0 ("blk-mq: fix kabi broken in struct request")
      Signed-off-by: NYu Kuai <yukuai3@huawei.com>
      Reviewed-by: NHou Tao <houtao1@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      31c285dd
  3. 07 12月, 2022 22 次提交
  4. 29 11月, 2022 7 次提交