• Mauro Carvalho Chehab's avatar
    V4L/DVB (7540): em28xx: convert to use videobuf-vmalloc · ad0ebb96
    Mauro Carvalho Chehab authored
    The usage of videobuf-vmalloc allows to cleanup em28xx logic.
    
    Also, it reduced its size by about 5.42% on i386 arch (and about 7.5% on x86_64):
    
      39113    4876      40   44029    abfd old/em28xx.ko
      36731    4868      40   41639    a2a7 /home/v4l/master/v4l/em28xx.ko
    
    Also, the preliminary tests, made on a single core 1.5 MHz Centrino showed
    that CPU usage reduced from 42%-75% to 28%-33% (reports from "top") command.
    
    A test with time command presented an even better result:
    
    This is the performance tests I did, running code_example to get 1,000 frames
    @29.995 Hz (about 35 seconds of stream), tested on a i386 machine, running at
    1,5GHz:
    
    	The old driver:
    
    $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example
    0:34.21: 8.22s User time, 25.16s Kernel time, 97% CPU used
    
    	The videobuf-based driver:
    
    $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example
    0:35.36: 0.01s User time, 0.05s Kernel time, 0% CPU used
    
    	Conclusion:
    
    The time consumption to receive the stream where reduced from about 33.38
    seconds to 0.05 seconds.
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
    ad0ebb96
em28xx.h 14.7 KB