+/*
+ * GPL HEADER START
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 only,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License version 2 for more details (a copy is included
+ * in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ * GPL HEADER END
+ */
+/*
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * This file is part of Lustre, http://www.lustre.org/
+ * Lustre is a trademark of Sun Microsystems, Inc.
+ */
#define DEBUG_SUBSYSTEM S_LNET
#define LUSTRE_TRACEFILE_PRIVATE
}
void tracefile_fini_arch() {
+ fini_rwsem(&tracefile_sem);
}
void tracefile_read_lock() {
* debugging check for recursive call to libcfs_debug_msg()
*/
if (trace_owner == current_thread()) {
- /*
- * Cannot assert here.
- */
+ /*
+ * Cannot assert here.
+ */
printk(KERN_EMERG "recursive call to %s", __FUNCTION__);
/*
- * "The death of God left the angels in a strange position."
+ * "The death of God left the angels in a strange position."
*/
cfs_enter_debugger();
}
tcd = &trace_data[0].tcd;
- CFS_INIT_LIST_HEAD(&pages);
+ INIT_LIST_HEAD(&pages);
if (get_preemption_level() == 0)
- nr_pages = trace_refill_stock(tcd, CFS_ALLOC_STD, &pages);
+ nr_pages = trace_refill_stock(tcd, GFP_IOFS, &pages);
else
nr_pages = 0;
spin_lock(&trace_cpu_serializer);
void
set_ptldebug_header(struct ptldebug_header *header, int subsys, int mask,
- const int line, unsigned long stack)
+ const int line, unsigned long stack)
{
struct timeval tv;
header->ph_subsys = subsys;
header->ph_mask = mask;
header->ph_cpu_id = smp_processor_id();
+ header->ph_type = 0;
header->ph_sec = (__u32)tv.tv_sec;
header->ph_usec = tv.tv_usec;
header->ph_stack = stack;
- header->ph_pid = cfs_curproc_pid();
+ header->ph_pid = current_pid();
header->ph_line_num = line;
header->ph_extern_pid = (__u32)current_thread();
}
{
return max_permit_mb;
}
-
-void
-trace_call_on_all_cpus(void (*fn)(void *arg), void *arg)
-{
-#error "tbd"
-}