The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/openzfs/config/kernel-percpu.m4

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 dnl #
    2 dnl # 3.18 API change,
    3 dnl # The function percpu_counter_init now must be passed a GFP mask.
    4 dnl #
    5 AC_DEFUN([ZFS_AC_KERNEL_SRC_PERCPU_COUNTER_INIT], [
    6         ZFS_LINUX_TEST_SRC([percpu_counter_init_with_gfp], [
    7                 #include <linux/gfp.h>
    8                 #include <linux/percpu_counter.h>
    9         ],[
   10                 struct percpu_counter counter;
   11                 int error;
   12 
   13                 error = percpu_counter_init(&counter, 0, GFP_KERNEL);
   14         ])
   15 ])
   16 
   17 AC_DEFUN([ZFS_AC_KERNEL_PERCPU_COUNTER_INIT], [
   18         AC_MSG_CHECKING([whether percpu_counter_init() wants gfp_t])
   19         ZFS_LINUX_TEST_RESULT([percpu_counter_init_with_gfp], [
   20                 AC_MSG_RESULT(yes)
   21                 AC_DEFINE(HAVE_PERCPU_COUNTER_INIT_WITH_GFP, 1,
   22                     [percpu_counter_init() wants gfp_t])
   23         ],[
   24                 AC_MSG_RESULT(no)
   25         ])
   26 ])
   27 
   28 dnl #
   29 dnl # 4.13 API change,
   30 dnl # __percpu_counter_add() was renamed to percpu_counter_add_batch().
   31 dnl #
   32 AC_DEFUN([ZFS_AC_KERNEL_SRC_PERCPU_COUNTER_ADD_BATCH], [
   33         ZFS_LINUX_TEST_SRC([percpu_counter_add_batch], [
   34                 #include <linux/percpu_counter.h>
   35         ],[
   36                 struct percpu_counter counter;
   37 
   38                 percpu_counter_add_batch(&counter, 1, 1);
   39         ])
   40 ])
   41 
   42 AC_DEFUN([ZFS_AC_KERNEL_PERCPU_COUNTER_ADD_BATCH], [
   43         AC_MSG_CHECKING([whether percpu_counter_add_batch() is defined])
   44         ZFS_LINUX_TEST_RESULT([percpu_counter_add_batch], [
   45                 AC_MSG_RESULT(yes)
   46                 AC_DEFINE(HAVE_PERCPU_COUNTER_ADD_BATCH, 1,
   47                     [percpu_counter_add_batch() is defined])
   48         ],[
   49                 AC_MSG_RESULT(no)
   50         ])
   51 ])
   52 
   53 dnl #
   54 dnl # 5.10 API change,
   55 dnl # The "count" was moved into ref->data, from ref
   56 dnl #
   57 AC_DEFUN([ZFS_AC_KERNEL_SRC_PERCPU_REF_COUNT_IN_DATA], [
   58         ZFS_LINUX_TEST_SRC([percpu_ref_count_in_data], [
   59                 #include <linux/percpu-refcount.h>
   60         ],[
   61                 struct percpu_ref_data d;
   62 
   63                 atomic_long_set(&d.count, 1L);
   64         ])
   65 ])
   66 
   67 AC_DEFUN([ZFS_AC_KERNEL_PERCPU_REF_COUNT_IN_DATA], [
   68         AC_MSG_CHECKING([whether is inside percpu_ref.data])
   69         ZFS_LINUX_TEST_RESULT([percpu_ref_count_in_data], [
   70                 AC_MSG_RESULT(yes)
   71                 AC_DEFINE(ZFS_PERCPU_REF_COUNT_IN_DATA, 1,
   72                     [count is located in percpu_ref.data])
   73         ],[
   74                 AC_MSG_RESULT(no)
   75         ])
   76 ])
   77 AC_DEFUN([ZFS_AC_KERNEL_SRC_PERCPU], [
   78         ZFS_AC_KERNEL_SRC_PERCPU_COUNTER_INIT
   79         ZFS_AC_KERNEL_SRC_PERCPU_COUNTER_ADD_BATCH
   80         ZFS_AC_KERNEL_SRC_PERCPU_REF_COUNT_IN_DATA
   81 ])
   82 
   83 AC_DEFUN([ZFS_AC_KERNEL_PERCPU], [
   84         ZFS_AC_KERNEL_PERCPU_COUNTER_INIT
   85         ZFS_AC_KERNEL_PERCPU_COUNTER_ADD_BATCH
   86         ZFS_AC_KERNEL_PERCPU_REF_COUNT_IN_DATA
   87 ])

Cache object: 0a8d1717aba80838f81df2fa69a7fa86


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.