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-rwsem.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.16 API Change
    3 dnl #
    4 dnl # rwsem-spinlock "->activity" changed to "->count"
    5 dnl #
    6 AC_DEFUN([ZFS_AC_KERNEL_SRC_RWSEM_ACTIVITY], [
    7         ZFS_LINUX_TEST_SRC([rwsem_activity], [
    8                 #include <linux/rwsem.h>
    9         ],[
   10                 struct rw_semaphore dummy_semaphore __attribute__ ((unused));
   11                 dummy_semaphore.activity = 0;
   12         ])
   13 ])
   14 
   15 AC_DEFUN([ZFS_AC_KERNEL_RWSEM_ACTIVITY], [
   16         AC_MSG_CHECKING([whether struct rw_semaphore has member activity])
   17         ZFS_LINUX_TEST_RESULT([rwsem_activity], [
   18                 AC_MSG_RESULT(yes)
   19                 AC_DEFINE(HAVE_RWSEM_ACTIVITY, 1,
   20                     [struct rw_semaphore has member activity])
   21         ],[
   22                 AC_MSG_RESULT(no)
   23         ])
   24 ])
   25 
   26 dnl #
   27 dnl # 4.8 API Change
   28 dnl #
   29 dnl # rwsem "->count" changed to atomic_long_t type
   30 dnl #
   31 AC_DEFUN([ZFS_AC_KERNEL_SRC_RWSEM_ATOMIC_LONG_COUNT], [
   32         ZFS_LINUX_TEST_SRC([rwsem_atomic_long_count], [
   33                 #include <linux/rwsem.h>
   34         ],[
   35                 DECLARE_RWSEM(dummy_semaphore);
   36                 (void) atomic_long_read(&dummy_semaphore.count);
   37         ])
   38 ])
   39 
   40 AC_DEFUN([ZFS_AC_KERNEL_RWSEM_ATOMIC_LONG_COUNT], [
   41         AC_MSG_CHECKING(
   42             [whether struct rw_semaphore has atomic_long_t member count])
   43         ZFS_LINUX_TEST_RESULT([rwsem_atomic_long_count], [
   44                 AC_MSG_RESULT(yes)
   45                 AC_DEFINE(HAVE_RWSEM_ATOMIC_LONG_COUNT, 1,
   46                     [struct rw_semaphore has atomic_long_t member count])
   47         ],[
   48                 AC_MSG_RESULT(no)
   49         ])
   50 ])
   51 
   52 AC_DEFUN([ZFS_AC_KERNEL_SRC_RWSEM], [
   53         ZFS_AC_KERNEL_SRC_RWSEM_ACTIVITY
   54         ZFS_AC_KERNEL_SRC_RWSEM_ATOMIC_LONG_COUNT
   55 ])
   56 
   57 AC_DEFUN([ZFS_AC_KERNEL_RWSEM], [
   58         ZFS_AC_KERNEL_RWSEM_ACTIVITY
   59         ZFS_AC_KERNEL_RWSEM_ATOMIC_LONG_COUNT
   60 ])

Cache object: 1a81a65987235e2485bbc0e587f5798b


[ 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.