小编The*_*ilk的帖子

current_kernel_time()的可靠性如何?

我正在研究SDIO UART Linux/Android驱动程序的性能基准测试,并在待分析读取,写入功能实现的开始和结束时使用current_kernel_time(),然后打印时差.

大多数时候我得到时间差为0(零)纳秒(不管读/写数据的大小:16-2048字节),逻辑上我认为这是不正确的,只有极少数我得到一些值,希望这些是正确.

current_kernel_time()的可靠性如何?

为什么我大多数时间都会获得0ns?

我打算在内核级别进行分析以获取更多细节.在此之前,有人可以对这种行为有所了解......之前有人观察过这样的事情......

此外,欢迎任何帮助/纠正我的基准测试方法的建议!

谢谢.

编辑:
这是Linux内核版本2.6.32.9的读取代码.我在#ifdef-endif下添加了current_kernel_time(),如下所示:

static void sdio_uart_receive_chars(struct sdio_uart_port *port, unsigned int *status)
{
#ifdef SDIO_UART_DEBUG
struct timespec time_spec1, time_spec2;
time_spec1 = current_kernel_time();
#endif

    struct tty_struct *tty = port->tty;
    unsigned int ch, flag;
    int max_count = 256;

    do {
        ch = sdio_in(port, UART_RX);
        flag = TTY_NORMAL;
        port->icount.rx++;

        if (unlikely(*status & (UART_LSR_BI | UART_LSR_PE |
                        UART_LSR_FE | UART_LSR_OE))) {
            /*
             * For statistics only
             */
            if (*status & UART_LSR_BI) {
                *status &= ~(UART_LSR_FE | UART_LSR_PE); …
Run Code Online (Sandbox Code Playgroud)

linux benchmarking linux-device-driver linux-kernel

9
推荐指数
1
解决办法
6898
查看次数

Listview/ExpandableListView图像内容在调用notifyDataSetChanged时轻弹

Listview/ExpandableListView将不断更新,并将有新的进入和退出.每行包含imageview和文本.

当我打电话时notifyDataSetChanged,随机行的imageview将轻弹.我知道视图的原因是从上到下刷新.但有没有办法更新内容而不刷新整个列表或者无论如何使图像视图不轻弹?

我也尝试Invalidate()过,但这不是我想要的.

有没有办法自定义listview/ExpandableListView?

android listview expandablelistview

7
推荐指数
1
解决办法
1241
查看次数

使用JMF将多路复用音频/视频录制到文件

我有一个使用JMF的项目,并在短时间内(几秒到几分钟)记录网络摄像头和音频输入,然后将结果写入文件.

我的项目的问题是该文件永远不会正确生成,无法播放.

虽然我已经找到了很多关于如何通过RTP进行音频和视频多路传输,或者将输入文件从一种格式转换为另一种格式的例子,但我还没有看到一个捕获音频和视频的工作示例,并将其写入到一个文件.

有没有人有一个功能代码的例子来做到这一点?

java media jmf video-capture multiplexing

6
推荐指数
1
解决办法
6030
查看次数

libjpeg ver.6b jpeg_stdio_src vs jpeg_mem_src

我正在使用Libjpeg版本6b.在版本8中,他们有一个很好的功能来从内存中读取数据jpeg_mem_src(...),不幸的是ver.6b没有此功能.

我可以用什么来直接从内存中读取压缩数据?我只看到jpeg_stdio_src从硬盘读取的内容.

c++ libjpeg

5
推荐指数
2
解决办法
8828
查看次数

tty驱动程序在读/写操作期间如何与UART驱动程序交互?

我正在修改/开发SDIO UART驱动程序.
并想知道:

tty驱动程序在读/写操作期间如何与UART驱动程序交互?我对缓冲管理很感兴趣.

我在网上搜索,但没有找到必要的信息.
有人可以对此有所了解吗?

先感谢您.

linux driver tty uart

5
推荐指数
1
解决办法
6856
查看次数

设置小部件配置图标 - 主屏幕 - 小部件 - 图标

再一次我; =)

我正在尝试为我的小部件配置设置一个特定的(不同于启动器)图标.它显示在主屏幕上按下时:
LongClick - > Widgets - > Icon + Widget Config Title

我试图通过Manifest.xml设置它

<activity android:name=".xxx"
                 android:windowSoftInputMode="stateHidden"
                 android:icon="@drawable/widget_icon_link"
Run Code Online (Sandbox Code Playgroud)

但根本没有效果.
搜索但尚未找到任何内容.

感谢任何建议:=)
最好的问候,
迈克:)

configuration icons android widget set

4
推荐指数
1
解决办法
2660
查看次数

如何使用GetOptions实用程序来处理Perl中的"可选"命令行参数?

有许多Perl教程解释了如何使用GetOptions实用程序仅处理预期的命令行参数,否则使用适当的消息退出.

根据我的要求,我有以下可选的命令行参数,比如

  • -z zip_dir_path:压缩输出
  • -h:显示帮助.

我尝试了几种与GetOptions无关的组合.
所以我的问题是:如何使用GetOptions来处理这个要求?

编辑:-z需要'zip目录路径'

EDIT2:我的脚本有以下强制命令行参数:

  • -in input_dir_path:输入目录
  • -out output_dir_path:输出目录

这是我的代码:

my %args;
GetOptions(\%args,
"in=s",
"out=s"
) or die &usage();

die "Missing -in!" unless $args{in};
die "Missing -out!" unless $args{out};
Run Code Online (Sandbox Code Playgroud)

希望这个EDIT增加更多的清晰度.

perl getopt-long command-line-arguments

4
推荐指数
1
解决办法
2万
查看次数