From 3f71901f8c228f4de570abed1831ce3ee425343e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 8 Sep 2018 10:50:14 +0100 Subject: gentoo resync 08.09.2018 --- .../knem/files/knem-1.1.3-setup_timer.patch | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sys-cluster/knem/files/knem-1.1.3-setup_timer.patch (limited to 'sys-cluster/knem/files') diff --git a/sys-cluster/knem/files/knem-1.1.3-setup_timer.patch b/sys-cluster/knem/files/knem-1.1.3-setup_timer.patch new file mode 100644 index 000000000000..eb418ccc957a --- /dev/null +++ b/sys-cluster/knem/files/knem-1.1.3-setup_timer.patch @@ -0,0 +1,58 @@ +diff --git a/driver/linux/check_kernel_headers.sh b/driver/linux/check_kernel_headers.sh +index b0b9b851c0a1..7afec9fae138 100755 +--- a/driver/linux/check_kernel_headers.sh ++++ b/driver/linux/check_kernel_headers.sh +@@ -330,6 +330,19 @@ else + echo no + fi + ++# timer_setup() added in v4.14-rc3 ++echo -n " checking (in kernel headers) timer_setup() availability ... " ++if test -e ${LINUX_HDR}/include/linux/timer.h > /dev/null ; then ++ if grep timer_setup ${LINUX_HDR}/include/linux/timer.h > /dev/null ; then ++ echo "#define HAVE_TIMER_SETUP 1" >> ${TMP_CHECKS_NAME} ++ echo yes ++ else ++ echo no ++ fi ++else ++ echo no ++fi ++ + # add the footer + echo "" >> ${TMP_CHECKS_NAME} + echo "#endif /* __knem_checks_h__ */" >> ${TMP_CHECKS_NAME} +diff --git a/driver/linux/knem_main.c b/driver/linux/knem_main.c +index e12aad3c0ea5..ddae2af14449 100644 +--- a/driver/linux/knem_main.c ++++ b/driver/linux/knem_main.c +@@ -2610,9 +2610,17 @@ knem_kthread_func(void *data) + + #ifdef KNEM_HAVE_DMA_ENGINE + static void ++#ifdef HAVE_TIMER_SETUP ++knem_dmacpy_cleanup_timer_handler(struct timer_list *t) ++#else + knem_dmacpy_cleanup_timer_handler(unsigned long data) ++#endif + { ++#ifdef HAVE_TIMER_SETUP ++ struct knem_context * ctx = from_timer(ctx, t, dmacpy_cleanup_timer); ++#else + struct knem_context * ctx = (void *) data; ++#endif + + wake_up(&ctx->kthread_work_wq); + knem_counter_inc(DMACPY_CLEANUP_TIMEOUT); +@@ -2665,7 +2673,11 @@ knem_miscdev_open(struct inode * inode, struct file * file) + if (ctx->dmacpy_chan) { + INIT_LIST_HEAD(&ctx->dmacpy_cleanup_work_list); + spin_lock_init(&ctx->dmacpy_cleanup_work_lock); ++#ifdef HAVE_TIMER_SETUP ++ timer_setup(&ctx->dmacpy_cleanup_timer, knem_dmacpy_cleanup_timer_handler, 0); ++#else + setup_timer(&ctx->dmacpy_cleanup_timer, knem_dmacpy_cleanup_timer_handler, (unsigned long) ctx); ++#endif + #if (defined CONFIG_NUMA) && (defined KNEM_HAVE_CPUMASK_OF_NODE) + { + int node = dev_to_node(ctx->dmacpy_chan->device->dev); -- cgit v1.2.3