Re: [PATCH][_COMPAT_H] git://linuxtv.org/media_build.git Legacy issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2011-01-17 at 22:59 +0000, Malcolm Priestley wrote:
> Clean up legacy issues for error free build on Kernel 2.6.37.
> 
> Today while testing on Kernel 2.6.35 latest tarball throws error with 
> alloc_ordered_workqueue undefined on Kernels less than 2.6.37. defined back to 
> create_singlethread_workqueue.
> 
> Please test on other kernel versions.
>
> Tested-on 2.6.35/37 by: Malcolm Priestley <tvboxspy@xxxxxxxxx>
> 
> 
> diff --git a/v4l/compat.h b/v4l/compat.h
> index 9e622ce..df98698 100644
> --- a/v4l/compat.h
> +++ b/v4l/compat.h
> @@ -749,6 +749,8 @@ static inline void *vzalloc(unsigned long size)
>  
>  #endif
>  
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
> +
>  #if NEED_FLUSH_WORK_SYNC
>  #define flush_work_sync(dev)
>  #endif
> @@ -760,6 +762,14 @@ static inline void *vzalloc(unsigned long size)
>  }
>  #endif
>  
> +#define alloc_ordered_workqueue(a,b) create_singlethread_workqueue(a)

That will get cx18 to compile.  However, I can tell you without testing,
the latest cx18 driver could badly affect system event processing
performance on older kernels.

This is because another change happened at the same time as the change
to call alloc_ordered_workqueue().  A kernel version before that, CMWQ
was added to the kernel, so there was no longer a need for the
cx18_out_work workqueue.  So now the cx18_out_work workqueue has been
removed from the cx18 driver.

In the older kernels without CMWQ and without the cx18_out_work
workqueue, outgoing cx18 buffer work will get queued to the [keventd/M]
kernel threads.  Unrelated system work being processed by [keventd/M]
threads will regularly find itself *waiting for the CX23418 hardware* to
respond to firmware commands.

It would be better to not allow the newest cx18 driver version to
compile on older kernels.

Regards,
Andy

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux