1. 22 Mar, 2017 19 commits
  2. 21 Mar, 2017 19 commits
  3. 20 Mar, 2017 2 commits
    • Arnd Bergmann's avatar
      remoteproc: qcom: fix QCOM_SMD dependencies · c3104aae
      Arnd Bergmann authored
      qcom_smd_register_edge() is provided by either QCOM_SMD or RPMSG_QCOM_SMD,
      and if both of them are disabled, it does nothing.
      
      The check for the PIL drivers however only checks for QCOM_SMD, so it breaks
      with QCOM_SMD=n && RPMSG_QCOM_SMD=m:
      
      drivers/remoteproc/built-in.o: In function `smd_subdev_remove':
      qcom_wcnss_iris.c:(.text+0x231c): undefined reference to `qcom_smd_unregister_edge'
      drivers/remoteproc/built-in.o: In function `smd_subdev_probe':
      qcom_wcnss_iris.c:(.text+0x2344): undefined reference to `qcom_smd_register_edge'
      drivers/remoteproc/built-in.o: In function `smd_subdev_probe':
      qcom_q6v5_pil.c:(.text+0x3538): undefined reference to `qcom_smd_register_edge'
      qcom_q6v5_pil.c:(.text+0x3538): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `qcom_smd_register_edge'
      
      This clarifies the Kconfig dependency.
      
      Fixes: 4b48921a ("remoteproc: qcom: Use common SMD edge handler")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      c3104aae
    • Chao Yu's avatar
      f2fs: combine nat_bits and free_nid_bitmap cache · 7041d5d2
      Chao Yu authored
      Both nat_bits cache and free_nid_bitmap cache provide same functionality
      as a intermediate cache between free nid cache and disk, but with
      different granularity of indicating free nid range, and different
      persistence policy. nat_bits cache provides better persistence ability,
      and free_nid_bitmap provides better granularity.
      
      In this patch we combine advantage of both caches, so finally policy of
      the intermediate cache would be:
      - init: load free nid status from nat_bits into free_nid_bitmap
      - lookup: scan free_nid_bitmap before load NAT blocks
      - update: update free_nid_bitmap in real-time
      - persistence: udpate and persist nat_bits in checkpoint
      
      This patch also resolves performance regression reported by lkp-robot.
      
      commit:
        4ac91242 ("f2fs: introduce free nid bitmap")
        d00030cf9cd0bb96fdccc41e33d3c91dcbb672ba ("f2fs: use __set{__clear}_bit_le")
        1382c0f3f9d3f936c8bc42ed1591cf7a593ef9f7 ("f2fs: combine nat_bits and free_nid_bitmap cache")
      
      4ac91242 d00030cf9cd0bb96fdccc41e33 1382c0f3f9d3f936c8bc42ed15
      ---------------- -------------------------- --------------------------
               %stddev     %change         %stddev     %change         %stddev
                   \          |                \          |                \
           77863 ±  0%      +2.1%      79485 ±  1%     +50.8%     117404 ±  0%  aim7.jobs-per-min
          231.63 ±  0%      -2.0%     227.01 ±  1%     -33.6%     153.80 ±  0%  aim7.time.elapsed_time
          231.63 ±  0%      -2.0%     227.01 ±  1%     -33.6%     153.80 ±  0%  aim7.time.elapsed_time.max
          896604 ±  0%      -0.8%     889221 ±  3%     -20.2%     715260 ±  1%  aim7.time.involuntary_context_switches
            2394 ±  1%      +4.6%       2503 ±  1%      +3.7%       2481 ±  2%  aim7.time.maximum_resident_set_size
            6240 ±  0%      -1.5%       6145 ±  1%     -14.1%       5360 ±  1%  aim7.time.system_time
         1111357 ±  3%      +1.9%    1132509 ±  2%      -6.2%    1041932 ±  2%  aim7.time.voluntary_context_switches
      ...
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Tested-by: default avatarXiaolong Ye <xiaolong.ye@intel.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      7041d5d2