| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Setting FT_TASK_TRACE_MAJOR, LOG_MAJOR, FT_TRACE_MAJOR to 0
allows to have them automatically assigned by the kernel
|
|
|
|
|
|
| |
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
|
|
- fix requesting more than 2^11 pages (MAX_ORDER)
to system allocator
to be merged:
- feather-trace generic implementation
|