aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/sched_trace.c
Commit message (Collapse)AuthorAge
* Let TRACE() log buffer size and comment converge.Bjoern B. Brandenburg2010-02-26
| | | | | | | | Make the allocation size actually dependent on the number of CPUs (as the comment claims). Update the comment and the macro name to actually reflect the per-CPU allocation size (which is much smaller than 1MB).
* Used miscdevice API for sched_traceBjoern B. Brandenburg2010-02-04
| | | | | | | | | This patch changes sched_trace.c to use the miscdevice API instead of doing all the cdev management ourselves. This remove a chunk of code and we get sysfs / udev integration for free. On systems with default udev rules, this will result in a /dev/litmus/log device being created automatically.
* TRACE: fix GFP_KERNEL in rb_alloc_buf with interrupt disabledAndrea Bastoni2010-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kfifo_alloc is called from rb_alloc_buf with interrupt disabled. Use GFP_ATOMIC instead of GFP_KERNEL. Fixes following warning: [ 33.596013] WARNING: at kernel/lockdep.c:2465 lockdep_trace_alloc+0xa7/0xe0() [ 33.596013] Hardware name: [ 33.596013] Modules linked in: [ 33.596013] Pid: 1454, comm: cat Not tainted 2.6.32-litmus2010 #38 [ 33.596013] Call Trace: [ 33.596013] [<ffffffff810737ff>] ? save_trace+0x3f/0xd0 [ 33.596013] [<ffffffff81074ae7>] ? lockdep_trace_alloc+0xa7/0xe0 [ 33.596013] [<ffffffff81044290>] warn_slowpath_common+0x80/0xd0 [ 33.596013] [<ffffffff810442f4>] warn_slowpath_null+0x14/0x20 [ 33.596013] [<ffffffff81074ae7>] lockdep_trace_alloc+0xa7/0xe0 [ 33.596013] [<ffffffff810b5ed3>] __alloc_pages_nodemask+0xa3/0x710 [ 33.596013] [<ffffffff81074a1c>] ? mark_held_locks+0x6c/0x90 [ 33.596013] [<ffffffff81487585>] ? mutex_lock_nested+0x315/0x3a0 [ 33.596013] [<ffffffff81074d15>] ? trace_hardirqs_on_caller+0x145/0x190 [ 33.596013] [<ffffffff810b655d>] __get_free_pages+0x1d/0x60 [ 33.596013] [<ffffffff810e533f>] __kmalloc+0x1af/0x240 [ 33.596013] [<ffffffff81063e16>] kfifo_alloc+0x66/0xe0 [ 33.596013] [<ffffffff81222da4>] rb_alloc_buf+0x34/0x80 [ 33.596013] [<ffffffff81222e40>] log_open+0x50/0xb0 [ 33.596013] [<ffffffff810ee46a>] chrdev_open+0x1ba/0x2d0 [ 33.596013] [<ffffffff81488a95>] ? _spin_unlock+0x35/0x60 [ 33.596013] [<ffffffff810e8c21>] __dentry_open+0x1b1/0x3f0 [ 33.596013] [<ffffffff810ee2b0>] ? chrdev_open+0x0/0x2d0 [ 33.596013] [<ffffffff810e8f77>] nameidata_to_filp+0x57/0x70 [ 33.596013] [<ffffffff810f904a>] do_filp_open+0x73a/0xb20 [ 33.596013] [<ffffffff811042b1>] ? alloc_fd+0x131/0x160 [ 33.596013] [<ffffffff810e8973>] do_sys_open+0x83/0x110 [ 33.596013] [<ffffffff810e8a40>] sys_open+0x20/0x30 [ 33.596013] [<ffffffff8100b46b>] system_call_fastpath+0x16/0x1b [ 33.596013] ---[ end trace dbd83780c3496912 ]--- Signed-off-by: Andrea Bastoni <bastoni@cs.unc.edu>
* Add optional dynamic assignment of tracing devices major nrAndrea Bastoni2010-01-16
| | | | | Setting FT_TASK_TRACE_MAJOR, LOG_MAJOR, FT_TRACE_MAJOR to 0 allows to have them automatically assigned by the kernel
* Move sched_trace ring buffer to kfifoAndrea Bastoni2010-01-16
| | | | | | Use kfifo [kernel/kfifo.c] to implement the ring buffer used for sched_trace (TRACE() and TRACE_TASK() macros) This patch also includes some reorganization of sched_trace.c code
* Add tracing support and hook up Litmus KConfig for x86Andrea Bastoni2009-12-17
- fix requesting more than 2^11 pages (MAX_ORDER) to system allocator to be merged: - feather-trace generic implementation