kernel add api to free task buffers

In the kernel the task buffers are not managed by the xio
library but using the kmem_cache, thus destroying the cache
without freeing the buffers allocated from the cache, results
with warning. This patch fixes that.

Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
handle tasklet affinity using ipi

If EQ related interrupt was not assigned to the requested core,
or if a event from another context is sent (e.g. module down event)
and since tasklet runs on the core that schedule it IPI must be used

Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>