主题:[讨论] ESM3354 读取串口 性能瓶颈

  共有42512人关注过本帖    
帅哥哟,离线,有人找我吗?
barrypp
1楼 信息 | 搜索 | 邮箱


加好友 发短信
[讨论] ESM3354 读取串口 性能瓶颈  发帖心情 Post By:2017-1-25 10:52:00   [只看该作者]

刚刚试了试,
程序仅仅读串口,
串口数据流量: 比较均匀的 32000字节/秒
就导致接近20%的cpu占用率,并且都是那个kworker占用的。

我不是很理解为啥会有这么高的cpu占用率?

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
2楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-1-25 13:05:00   [只看该作者]

你好:
3354的串口收发没有使用dma,所以收发数据都会占用CPU,CPU占用率就会比较高
使用top查看CPU占用率并不准确
[此贴子已经被作者于2017-1-25 13:15:21编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
3楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-1-25 15:03:00   [只看该作者]

除了top外,有哪些好用的开源工具来查看cpu占用率呢?

另外usb是不是也是这样的,接收数据时看起来cpu占用率也很高
[此贴子已经被作者于2017-1-25 15:07:31编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
4楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-1-25 15:22:00   [只看该作者]

你好
top是常用的了,CPU占用率计算的机制造成的占用率计算不准确,所有软件都一样的
usb有使用dma,USB数据量比较大

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
5楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-2-3 9:51:00   [只看该作者]

试了试FTDI的D2XX驱动。看起来cpu占用率依旧很高。开启DMA需要特殊的操作么?

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
6楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-3 15:36:00   [只看该作者]

你好,是否使用dma是驱动里面的代码决定的

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
7楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-2-4 19:43:00   [只看该作者]


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
8楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-6 10:00:00   [只看该作者]

你好,谢谢提供的信息,我们目前还没有支持使用dma,要支持使用dma的驱动我们还需要做些修改测试,有结果了会立即通知你

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
9楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-6 12:54:00   [只看该作者]

请问你需要支持硬件流控吗

  单帖管理 | 引用 | 回复 回到顶部
barrypp
10楼


  发帖心情 Post By:2017-2-7 9:11:00   [只看该作者]

需要

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
11楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-2-7 9:24:00   [只看该作者]

需要硬件流控

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
12楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-7 9:53:00   [只看该作者]

我们只有COM2(ttyS1)有引出硬件流控的管脚,其他串口不支持硬件流控,需要硬件流控我们还要修改一下,现在dma的驱动已经测试了

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
13楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-7 14:33:00   [只看该作者]

使用硬件流控,如果CTS信号频繁变化的话,CPU占用率还是会很高的,处理CTS是在中断中,与是否使用DMA无关,我先给你发一个测试的,使用dma收发支持硬件流控,你测试一下,发你邮箱了barry-hp@163.com, 

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
14楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-2-11 0:22:00   [只看该作者]

使用DMA后,串口的输入缓冲区依旧是4K么?

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
15楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-13 9:13:00   [只看该作者]

是对,除了使用dma收发数据,其他没有变化

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
16楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-2-13 10:44:00   [只看该作者]

使用dma后性能确实不错,同样的环境下,kworker仅有3%~5%

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
17楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-13 16:02:00   [只看该作者]

那就好,再次感谢你提供的串口dma驱动相关的信息

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
18楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-2-14 12:21:00   [只看该作者]

有个严重问题,使用新内核后,eta503的驱动就没法载入了

insmod 返回 
can't insert '/lib/modules/4.1.6/eta503_seria.ko' : unkown symbol in module or invalid parameter
[此贴子已经被作者于2017-2-14 12:23:19编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
19楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-2-14 13:57:00   [只看该作者]

已经更新,邮件发给你了

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
20楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-2-14 15:00:00   [只看该作者]

新的bug,eta503的驱动载入后,/dev目录下没有扩展串口


dmesg里的eta503驱动的信息是
[   10.150791] ->eta503_serial_probe 
[   10.154243] eta503_serial_probe: ETA503(4 ports) are found
[   10.159829] of_get_named_gpiod_flags: can't parse 'gpio-irq' property of node '/eta503[0]'
[   10.159845] eta503_uart eta503: can't get irq -2
[   10.164488] <-eta503_serial_probe -2
[   10.170294] eta503_uart: probe of eta503 failed with error -2

[此贴子已经被作者于2017-2-14 15:06:00编辑过]

  单帖管理 | 引用 | 回复 回到顶部

返回首页

[讨论] ESM3354 读取串口 性能瓶颈

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: