Whamcloud - gitweb
LU-6245 libcfs: Remove kp30.h
[fs/lustre-release.git] / libcfs / include / libcfs / linux / libcfs.h
index 39da4ca..2bfa8f2 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
+ *
+ * Copyright (c) 2012, 2015, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
 #error This include is only for kernel use.
 #endif
 
-#ifdef HAVE_ASM_TYPES_H
-#include <asm/types.h>
-#endif
-
+#include <linux/bitops.h>
+#include <linux/compiler.h>
+#include <linux/ctype.h>
+#include <linux/errno.h>
+#include <linux/file.h>
+#include <linux/fs.h>
+#include <linux/highmem.h>
+#include <linux/interrupt.h>
+#include <linux/kallsyms.h>
+#include <linux/kernel.h>
+#include <linux/kmod.h>
+#include <linux/kthread.h>
+#include <linux/miscdevice.h>
+#include <linux/mm.h>
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+#include <linux/mutex.h>
+#include <linux/notifier.h>
+#include <linux/random.h>
+#include <linux/rbtree.h>
+#include <linux/rwsem.h>
+#include <linux/scatterlist.h>
+#include <linux/sched.h>
+#include <linux/signal.h>
+#include <linux/slab.h>
+#include <linux/smp.h>
+#include <linux/stat.h>
+#include <linux/string.h>
+#include <linux/time.h>
+#include <linux/timer.h>
+#include <linux/types.h>
+#include <linux/unistd.h>
+#include <linux/vmalloc.h>
+#include <net/sock.h>
+#include <linux/atomic.h>
+#include <asm/div64.h>
+#include <linux/timex.h>
+#include <linux/uaccess.h>
 #include <stdarg.h>
+
+#include <libcfs/linux/linux-cpu.h>
 #include <libcfs/linux/linux-time.h>
 #include <libcfs/linux/linux-mem.h>
-#include <libcfs/linux/linux-prim.h>
-#include <libcfs/linux/linux-lock.h>
+#include <libcfs/linux/linux-misc.h>
 #include <libcfs/linux/linux-fs.h>
-#include <libcfs/linux/linux-tcpip.h>
-#include <libcfs/linux/kp30.h>
-
-#include <linux/types.h>
-#include <asm/timex.h>
-#include <linux/sched.h> /* THREAD_SIZE */
-
-#define LUSTRE_TRACE_SIZE (THREAD_SIZE >> 5)
 
 #if !defined(__x86_64__)
 # ifdef  __ia64__
                            (THREAD_SIZE - 1)))
 # endif /* __ia64__ */
 
-#define __CHECK_STACK(file, func, line)                                 \
+#define __CHECK_STACK(msgdata, mask, cdls)                              \
 do {                                                                    \
-        unsigned long _stack = CDEBUG_STACK();                           \
-                                                                        \
-        if (_stack > 3*THREAD_SIZE/4 && _stack > libcfs_stack) {        \
-                libcfs_stack = _stack;                                  \
-                libcfs_debug_msg(NULL, DEBUG_SUBSYSTEM, D_WARNING,      \
-                                 file, func, line,                      \
-                                 "maximum lustre stack %lu\n", _stack); \
+        if (unlikely(CDEBUG_STACK() > libcfs_stack)) {                  \
+                LIBCFS_DEBUG_MSG_DATA_INIT(msgdata, D_WARNING, NULL);   \
+                libcfs_stack = CDEBUG_STACK();                          \
+                libcfs_debug_msg(msgdata,                               \
+                                 "maximum lustre stack %lu\n",          \
+                                 CDEBUG_STACK());                       \
+                (msgdata)->msg_mask = mask;                             \
+                (msgdata)->msg_cdls = cdls;                             \
+                dump_stack();                                           \
               /*panic("LBUG");*/                                        \
         }                                                               \
 } while (0)
-#define CHECK_STACK()     __CHECK_STACK(__FILE__, __func__, __LINE__)
+#define CFS_CHECK_STACK(msgdata, mask, cdls)  __CHECK_STACK(msgdata, mask, cdls)
 #else /* __x86_64__ */
-#define CHECK_STACK() do { } while(0)
+#define CFS_CHECK_STACK(msgdata, mask, cdls) do {} while(0)
 #define CDEBUG_STACK() (0L)
 #endif /* __x86_64__ */
 
-/* initial pid  */
-#define LUSTRE_LNET_PID          12345
-
-#define ENTRY_NESTING_SUPPORT (1)
-#define ENTRY_NESTING   do {;} while (0)
-#define EXIT_NESTING   do {;} while (0)
-#define __current_nesting_level() (0)
-
 /**
  * Platform specific declarations for cfs_curproc API (libcfs/curproc.h)
  *
@@ -108,21 +129,23 @@ do {                                                                    \
  */
 #define CFS_CURPROC_COMM_MAX (sizeof ((struct task_struct *)0)->comm)
 
-#include <linux/capability.h>
-typedef kernel_cap_t cfs_kernel_cap_t;
-
-/*
- * No stack-back-tracing in Linux for now.
- */
-struct cfs_stack_trace {
-};
-
-/* long integer with size equal to pointer */
-typedef unsigned long ulong_ptr_t;
-typedef long long_ptr_t;
+/* helper for sysctl handlers */
+int lprocfs_call_handler(void *data, int write, loff_t *ppos,
+                        void __user *buffer, size_t *lenp,
+                        int (*handler)(void *data, int write,
+                        loff_t pos, void __user *buffer, int len));
 
 #ifndef WITH_WATCHDOG
 #define WITH_WATCHDOG
 #endif
 
+/*
+ * Macros to access common characteristics of "current" UNIX process.
+ */
+#define current_pid()             (current->pid)
+#define current_comm()            (current->comm)
+
+/* check if task is running in compat mode.*/
+int current_is_32bit(void);
+
 #endif /* _LINUX_LIBCFS_H */