It seems there's a bug in VQEC that manifests itself with a fact
that it's running out of memory surfacing VQEC_ERR_SYSCALL error.
This happens despite the fact that the number of active tuners is
actually lower then the maximum specified in the config file.
This commit fixes that problem by using malloc/free instead of the
custom allocators normally used. VQEC allocates all of its memory
upfront, trying to prevent, bad malloc/free implementations
memory fragmentation, spikes, performance related issues, and
abstract memory allocation for th e case when VQEC is running in
the kernel. Sadly this mechanisms fails in our case when it really
should not.
Since in our case we're running on relatively powerfull box, with
lots of memory, using malloc/free should not harm us.
It's worth to mention that possiblility of running VQEC in kernel
mode seems to be an unnecessary complication in the year of 2013.
Ideally we'd like to see this feature go for the sake of code
simplificaton.
It seems there's a bug in VQEC that manifests itself with a fact that it's running out of memory surfacing VQEC_ERR_SYSCALL error. This happens despite the fact that the number of active tuners is actually lower then the maximum specified in the config file.
This commit fixes that problem by using malloc/free instead of the custom allocators normally used. VQEC allocates all of its memory upfront, trying to prevent, bad malloc/free implementations memory fragmentation, spikes, performance related issues, and abstract memory allocation for th e case when VQEC is running in the kernel. Sadly this mechanisms fails in our case when it really should not.
Since in our case we're running on relatively powerfull box, with lots of memory, using malloc/free should not harm us.
It's worth to mention that possiblility of running VQEC in kernel mode seems to be an unnecessary complication in the year of 2013. Ideally we'd like to see this feature go for the sake of code simplificaton.