1 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/arch/i386/Kconfig linux-2.6.22-591/arch/i386/Kconfig
2 --- linux-2.6.22-590/arch/i386/Kconfig 2009-03-16 20:49:42.000000000 -0400
3 +++ linux-2.6.22-591/arch/i386/Kconfig 2009-03-16 20:58:59.000000000 -0400
6 source "arch/i386/oprofile/Kconfig"
9 + bool "Chopstix (PlanetLab)"
10 + depends on MODULES && OPROFILE
12 + Chopstix allows you to monitor various events by summarizing them
13 + in lossy data structures and transferring these data structures
14 + into user space. If in doubt, say "N".
17 bool "Kprobes (EXPERIMENTAL)"
18 depends on KALLSYMS && EXPERIMENTAL && MODULES
19 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/arch/i386/kernel/asm-offsets.c linux-2.6.22-591/arch/i386/kernel/asm-offsets.c
20 --- linux-2.6.22-590/arch/i386/kernel/asm-offsets.c 2007-07-08 19:32:17.000000000 -0400
21 +++ linux-2.6.22-591/arch/i386/kernel/asm-offsets.c 2009-03-16 20:58:59.000000000 -0400
23 #include <linux/signal.h>
24 #include <linux/personality.h>
25 #include <linux/suspend.h>
26 +#include <linux/arrays.h>
27 #include <asm/ucontext.h>
29 #include <asm/pgtable.h>
31 #define OFFSET(sym, str, mem) \
32 DEFINE(sym, offsetof(struct str, mem));
34 +#define STACKOFFSET(sym, str, mem) \
35 + DEFINE(sym, offsetof(struct str, mem)-sizeof(struct str));
37 /* workaround for a warning with -Wmissing-prototypes */
42 + unsigned long dcookie;
44 + unsigned int number;
49 OFFSET(SIGCONTEXT_eax, sigcontext, eax);
51 OFFSET(CPUINFO_x86_vendor_id, cpuinfo_x86, x86_vendor_id);
54 - OFFSET(TI_task, thread_info, task);
55 + STACKOFFSET(TASK_thread, task_struct, thread);
56 + STACKOFFSET(THREAD_esp, thread_struct, esp);
57 + STACKOFFSET(EVENT_event_data, event, event_data);
58 + STACKOFFSET(EVENT_task, event, task);
59 + STACKOFFSET(EVENT_event_type, event, event_type);
60 + STACKOFFSET(SPEC_number, event_spec, number);
61 + DEFINE(EVENT_SIZE, sizeof(struct event));
62 + DEFINE(SPEC_SIZE, sizeof(struct event_spec));
63 + DEFINE(SPEC_EVENT_SIZE, sizeof(struct event_spec)+sizeof(struct event));
65 OFFSET(TI_exec_domain, thread_info, exec_domain);
66 OFFSET(TI_flags, thread_info, flags);
67 OFFSET(TI_status, thread_info, status);
68 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/arch/i386/kernel/entry.S linux-2.6.22-591/arch/i386/kernel/entry.S
69 --- linux-2.6.22-590/arch/i386/kernel/entry.S 2009-03-16 20:49:07.000000000 -0400
70 +++ linux-2.6.22-591/arch/i386/kernel/entry.S 2009-03-16 20:58:59.000000000 -0400
72 cmpl $(nr_syscalls), %eax
75 + /* Move Chopstix syscall probe here */
76 + /* Save and clobber: eax, ecx, ebp */
81 + subl $SPEC_EVENT_SIZE, %esp
82 + movl rec_event, %ecx
85 + # struct event is first, just below %ebp
86 + movl %eax, (SPEC_number-EVENT_SIZE)(%ebp)
87 + leal -SPEC_EVENT_SIZE(%ebp), %eax
88 + movl %eax, EVENT_event_data(%ebp)
89 + movl $6, EVENT_event_type(%ebp)
90 + movl rec_event, %edx
92 + leal -EVENT_SIZE(%ebp), %eax
96 + addl $SPEC_EVENT_SIZE, %esp
102 call *sys_call_table(,%eax,4)
103 movl %eax,PT_EAX(%esp) # store the return value
105 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/arch/i386/mm/fault.c linux-2.6.22-591/arch/i386/mm/fault.c
106 --- linux-2.6.22-590/arch/i386/mm/fault.c 2009-03-16 20:49:42.000000000 -0400
107 +++ linux-2.6.22-591/arch/i386/mm/fault.c 2009-03-16 20:58:59.000000000 -0400
109 DIE_PAGE_FAULT, &args);
113 +extern void (*rec_event)(void *,unsigned int);
116 + unsigned long dcookie;
118 + unsigned char reason;
122 * Return EIP plus the CS segment base. The segment limit is also
123 * adjusted, clamped to the kernel/user address space (whichever is
125 * bit 3 == 1 means use of reserved bit detected
126 * bit 4 == 1 means fault was an instruction fetch
130 fastcall void __kprobes do_page_fault(struct pt_regs *regs,
131 unsigned long error_code)
133 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/block/ll_rw_blk.c linux-2.6.22-591/block/ll_rw_blk.c
134 --- linux-2.6.22-590/block/ll_rw_blk.c 2009-03-16 20:49:07.000000000 -0400
135 +++ linux-2.6.22-591/block/ll_rw_blk.c 2009-03-16 20:58:59.000000000 -0400
137 #include <linux/cpu.h>
138 #include <linux/blktrace_api.h>
139 #include <linux/fault-inject.h>
140 +#include <linux/arrays.h>
144 @@ -3102,6 +3103,13 @@
146 #endif /* CONFIG_FAIL_MAKE_REQUEST */
148 +extern void (*rec_event)(void *,unsigned int);
151 + unsigned long dcookie;
153 + unsigned char reason;
156 * generic_make_request: hand a buffer to its device driver for I/O
157 * @bio: The bio describing the location in memory and on the device.
158 @@ -3220,7 +3228,23 @@
163 +#ifdef CONFIG_CHOPSTIX
165 + struct event event;
166 + struct event_spec espec;
169 + espec.reason = 0;/*request */
171 + eip = bio->bi_end_io;
172 + event.event_data=&espec;
174 + event.event_type=3;
175 + /* index in the event array currently set up */
176 + /* make sure the counters are loaded in the order we want them to show up*/
177 + (*rec_event)(&event, bio->bi_size);
180 ret = q->make_request_fn(q, bio);
183 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/drivers/char/Makefile linux-2.6.22-591/drivers/char/Makefile
184 --- linux-2.6.22-590/drivers/char/Makefile 2007-07-08 19:32:17.000000000 -0400
185 +++ linux-2.6.22-591/drivers/char/Makefile 2009-03-16 20:58:59.000000000 -0400
188 obj-y += mem.o random.o tty_io.o n_tty.o tty_ioctl.o
191 +#obj-m += chardevice.o
193 obj-$(CONFIG_LEGACY_PTYS) += pty.o
194 obj-$(CONFIG_UNIX98_PTYS) += pty.o
196 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/drivers/char/chardevice.c linux-2.6.22-591/drivers/char/chardevice.c
197 --- linux-2.6.22-590/drivers/char/chardevice.c 1969-12-31 19:00:00.000000000 -0500
198 +++ linux-2.6.22-591/drivers/char/chardevice.c 2009-03-16 20:58:59.000000000 -0400
200 +#include<linux/module.h>
201 +#include<linux/init.h>
202 +#include <asm/current.h>
203 +#include <asm/segment.h>
204 +#include <asm/uaccess.h>
205 +#include"chardevice.h"
207 +MODULE_AUTHOR("ranjmis");
208 +MODULE_DESCRIPTION("A simple char device");
210 +static int r_init(void);
211 +static void r_cleanup(void);
213 +module_init(r_init);
214 +module_exit(r_cleanup);
217 +static int r_init(void)
219 + struct pt_regs *pt;
220 + pt = task_pt_regs(current);
221 + printk("task_pt_regs: 0x%x",pt);
224 +if(register_chrdev(222,"my_device",&my_fops)){
225 + printk("<1>failed to register");
229 +static void r_cleanup(void)
232 +unregister_chrdev(222,"my_device");
236 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/drivers/char/chardevice.h linux-2.6.22-591/drivers/char/chardevice.h
237 --- linux-2.6.22-590/drivers/char/chardevice.h 1969-12-31 19:00:00.000000000 -0500
238 +++ linux-2.6.22-591/drivers/char/chardevice.h 2009-03-16 20:58:59.000000000 -0400
241 + * my device header file
243 +#ifndef _MY_DEVICE_H
244 +#define _MY_DEVICE_H
246 +#include <linux/fs.h>
247 +#include <linux/sched.h>
248 +#include <linux/errno.h>
249 +#include <asm/current.h>
250 +#include <asm/segment.h>
251 +#include <asm/uaccess.h>
253 +int my_open(struct inode *inode,struct file *filep);
254 +int my_release(struct inode *inode,struct file *filep);
255 +ssize_t my_read(struct file *filep,char *buff,size_t count,loff_t *offp );
256 +ssize_t my_write(struct file *filep,const char *buff,size_t count,loff_t *offp );
258 +struct file_operations my_fops={
262 + release:my_release,
265 +int my_open(struct inode *inode,struct file *filep)
267 + /*MOD_INC_USE_COUNT;*/ /* increments usage count of module */
271 +int my_release(struct inode *inode,struct file *filep)
273 + /*MOD_DEC_USE_COUNT;*/ /* decrements usage count of module */
276 +ssize_t my_read(struct file *filep,char *buff,size_t count,loff_t *offp )
278 + /* function to copy kernel space buffer to user space*/
281 + struct pt_regs *regs;
283 + regs = task_pt_regs(current);
287 + for(i=0;i<250000000;i++)
291 + sprintf(my_data,"addr: %x\n",pc);
292 + if ( copy_to_user(buff,my_data,strlen(my_data)+1) != 0 )
293 + printk( "Kernel -> userspace copy failed!\n" );
297 +ssize_t my_write(struct file *filep,const char *buff,size_t count,loff_t *offp )
299 + /* function to copy user space buffer to kernel space*/
300 + if ( copy_from_user("foo",buff,count) != 0 )
301 + printk( "Userspace -> kernel copy failed!\n" );
305 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/drivers/char/inject.c linux-2.6.22-591/drivers/char/inject.c
306 --- linux-2.6.22-590/drivers/char/inject.c 1969-12-31 19:00:00.000000000 -0500
307 +++ linux-2.6.22-591/drivers/char/inject.c 2009-03-16 20:58:59.000000000 -0400
309 +#include<linux/module.h>
310 +#include<linux/init.h>
311 +#include"chardevice.h"
313 +MODULE_AUTHOR("ranjmis");
314 +MODULE_DESCRIPTION("A simple char device");
316 +static int r_init(void);
317 +static void r_cleanup(void);
319 +module_init(r_init);
320 +module_exit(r_cleanup);
322 +static int r_init(void)
324 +asm ("pushl %eax\r\n \
327 + movl %esp, %ebp\r\n \
328 + subl $78, %esp\r\n \
329 + addl $78, %esp\r\n \
334 +if(register_chrdev(222,"my_device",&my_fops)){
335 + printk("<1>failed to register");
339 +static void r_cleanup(void)
342 +unregister_chrdev(222,"my_device");
346 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/drivers/char/inject.h linux-2.6.22-591/drivers/char/inject.h
347 --- linux-2.6.22-590/drivers/char/inject.h 1969-12-31 19:00:00.000000000 -0500
348 +++ linux-2.6.22-591/drivers/char/inject.h 2009-03-16 20:58:59.000000000 -0400
351 + * my device header file
353 +#ifndef _MY_DEVICE_H
354 +#define _MY_DEVICE_H
356 +#include <linux/fs.h>
357 +#include <linux/sched.h>
358 +#include <linux/errno.h>
359 +#include <asm/current.h>
360 +#include <asm/segment.h>
361 +#include <asm/uaccess.h>
363 +int my_open(struct inode *inode,struct file *filep);
364 +int my_release(struct inode *inode,struct file *filep);
365 +ssize_t my_read(struct file *filep,char *buff,size_t count,loff_t *offp );
366 +ssize_t my_write(struct file *filep,const char *buff,size_t count,loff_t *offp );
368 +struct file_operations my_fops={
372 + release:my_release,
375 +int my_open(struct inode *inode,struct file *filep)
377 + /*MOD_INC_USE_COUNT;*/ /* increments usage count of module */
381 +int my_release(struct inode *inode,struct file *filep)
383 + /*MOD_DEC_USE_COUNT;*/ /* decrements usage count of module */
386 +ssize_t my_read(struct file *filep,char *buff,size_t count,loff_t *offp )
388 + /* function to copy kernel space buffer to user space*/
391 + struct pt_regs *regs;
393 + regs = task_pt_regs(current);
397 + for(i=0;i<250000000;i++)
401 + sprintf(my_data,"addr: %x\n",pc);
402 + if ( copy_to_user(buff,my_data,strlen(my_data)+1) != 0 )
403 + printk( "Kernel -> userspace copy failed!\n" );
407 +ssize_t my_write(struct file *filep,const char *buff,size_t count,loff_t *offp )
409 + /* function to copy user space buffer to kernel space*/
410 + if ( copy_from_user("foo",buff,count) != 0 )
411 + printk( "Userspace -> kernel copy failed!\n" );
415 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/drivers/oprofile/cpu_buffer.c linux-2.6.22-591/drivers/oprofile/cpu_buffer.c
416 --- linux-2.6.22-590/drivers/oprofile/cpu_buffer.c 2007-07-08 19:32:17.000000000 -0400
417 +++ linux-2.6.22-591/drivers/oprofile/cpu_buffer.c 2009-03-16 20:58:59.000000000 -0400
419 #include <linux/oprofile.h>
420 #include <linux/vmalloc.h>
421 #include <linux/errno.h>
422 +#include <linux/arrays.h>
424 #include "event_buffer.h"
425 #include "cpu_buffer.h"
430 +#ifdef CONFIG_CHOPSTIX
434 + unsigned long dcookie;
438 +extern void (*rec_event)(void *,unsigned int);
442 add_sample(struct oprofile_cpu_buffer * cpu_buf,
443 unsigned long pc, unsigned long event)
446 entry->event = event;
447 increment_head(cpu_buf);
454 int is_kernel = !user_mode(regs);
455 unsigned long pc = profile_pc(regs);
458 +#ifdef CONFIG_CHOPSTIX
461 + struct event_spec espec;
462 + esig.task = current;
465 + esig.event_data=&espec;
466 + esig.event_type=event; /* index in the event array currently set up */
467 + /* make sure the counters are loaded in the order we want them to show up*/
468 + (*rec_event)(&esig, 1);
471 oprofile_add_ext_sample(pc, regs, event, is_kernel);
474 + oprofile_add_ext_sample(pc, regs, event, is_kernel);
480 void oprofile_add_pc(unsigned long pc, int is_kernel, unsigned long event)
481 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/fs/bio.c linux-2.6.22-591/fs/bio.c
482 --- linux-2.6.22-590/fs/bio.c 2007-07-08 19:32:17.000000000 -0400
483 +++ linux-2.6.22-591/fs/bio.c 2009-03-16 20:58:59.000000000 -0400
485 #include <linux/workqueue.h>
486 #include <linux/blktrace_api.h>
487 #include <scsi/sg.h> /* for struct sg_iovec */
488 +#include <linux/arrays.h>
490 #define BIO_POOL_SIZE 2
493 struct kmem_cache *slab;
498 * if you change this list, also change bvec_alloc or things will
499 * break badly! cannot be bigger than what you can fit into an
500 @@ -999,6 +1001,14 @@
506 + unsigned long dcookie;
508 + unsigned char reason;
511 +extern void (*rec_event)(void *,unsigned int);
513 * bio_endio - end I/O on a bio
515 @@ -1028,6 +1038,24 @@
516 bio->bi_size -= bytes_done;
517 bio->bi_sector += (bytes_done >> 9);
519 +#ifdef CONFIG_CHOPSTIX
521 + struct event event;
522 + struct event_spec espec;
525 + espec.reason = 1;/*response */
527 + eip = bio->bi_end_io;
528 + event.event_data=&espec;
530 + event.event_type=3;
531 + /* index in the event array currently set up */
532 + /* make sure the counters are loaded in the order we want them to show up*/
533 + (*rec_event)(&event, bytes_done);
538 bio->bi_end_io(bio, bytes_done, error);
540 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/fs/exec.c linux-2.6.22-591/fs/exec.c
541 --- linux-2.6.22-590/fs/exec.c 2009-03-16 20:49:42.000000000 -0400
542 +++ linux-2.6.22-591/fs/exec.c 2009-03-16 20:58:59.000000000 -0400
544 #include <linux/mman.h>
545 #include <linux/a.out.h>
546 #include <linux/stat.h>
547 +#include <linux/dcookies.h>
548 #include <linux/fcntl.h>
549 #include <linux/smp_lock.h>
550 #include <linux/init.h>
552 #include <linux/binfmts.h>
553 #include <linux/swap.h>
554 #include <linux/utsname.h>
555 -#include <linux/pid_namespace.h>
556 +/*#include <linux/pid_namespace.h>*/
557 #include <linux/module.h>
558 #include <linux/namei.h>
559 #include <linux/proc_fs.h>
563 struct inode *inode = nd.dentry->d_inode;
564 +#ifdef CONFIG_CHOPSTIX
565 + unsigned long cookie;
566 + if (!nd.dentry->d_cookie)
567 + get_dcookie(nd.dentry, nd.mnt, &cookie);
570 file = ERR_PTR(-EACCES);
571 if (!(nd.mnt->mnt_flags & MNT_NOEXEC) &&
572 S_ISREG(inode->i_mode)) {
574 * Reparenting needs write_lock on tasklist_lock,
575 * so it is safe to do it under read_lock.
578 if (unlikely(tsk->group_leader == child_reaper(tsk)))
579 tsk->nsproxy->pid_ns->child_reaper = tsk;
582 zap_other_threads(tsk);
583 read_unlock(&tasklist_lock);
584 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/include/linux/arrays.h linux-2.6.22-591/include/linux/arrays.h
585 --- linux-2.6.22-590/include/linux/arrays.h 1969-12-31 19:00:00.000000000 -0500
586 +++ linux-2.6.22-591/include/linux/arrays.h 2009-03-16 20:58:59.000000000 -0400
588 +#ifndef __ARRAYS_H__
589 +#define __ARRAYS_H__
590 +#include <linux/list.h>
592 +#define SAMPLING_METHOD_DEFAULT 0
593 +#define SAMPLING_METHOD_LOG 1
595 +/* Every probe has an array handler */
597 +/* XXX - Optimize this structure */
599 +extern void (*rec_event)(void *,unsigned int);
600 +struct array_handler {
601 + struct list_head link;
602 + unsigned int (*hash_func)(void *);
603 + unsigned int (*sampling_func)(void *,int,void *);
604 + unsigned short size;
605 + unsigned int threshold;
606 + unsigned char **expcount;
607 + unsigned int sampling_method;
608 + unsigned int **arrays;
609 + unsigned int arraysize;
610 + unsigned int num_samples[2];
611 + void **epoch_samples; /* size-sized lists of samples */
612 + unsigned int (*serialize)(void *, void *);
613 + unsigned char code[5];
617 + struct list_head link;
619 + unsigned int count;
620 + unsigned int event_type;
621 + struct task_struct *task;
624 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/include/linux/mutex.h linux-2.6.22-591/include/linux/mutex.h
625 --- linux-2.6.22-590/include/linux/mutex.h 2007-07-08 19:32:17.000000000 -0400
626 +++ linux-2.6.22-591/include/linux/mutex.h 2009-03-16 20:58:59.000000000 -0400
628 struct thread_info *owner;
632 +#ifdef CONFIG_CHOPSTIX
633 + struct thread_info *owner;
636 #ifdef CONFIG_DEBUG_LOCK_ALLOC
637 struct lockdep_map dep_map;
638 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/include/linux/sched.h linux-2.6.22-591/include/linux/sched.h
639 --- linux-2.6.22-590/include/linux/sched.h 2009-03-16 20:49:42.000000000 -0400
640 +++ linux-2.6.22-591/include/linux/sched.h 2009-03-16 20:58:59.000000000 -0400
643 unsigned long sleep_avg;
644 unsigned long long timestamp, last_ran;
645 +#ifdef CONFIG_CHOPSTIX
646 + unsigned long last_interrupted, last_ran_j;
649 unsigned long long sched_time; /* sched_clock time spent running */
650 enum sleep_type sleep_type;
652 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/iplist linux-2.6.22-591/iplist
653 --- linux-2.6.22-590/iplist 1969-12-31 19:00:00.000000000 -0500
654 +++ linux-2.6.22-591/iplist 2009-03-16 20:58:59.000000000 -0400
665 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/kernel/mutex.c linux-2.6.22-591/kernel/mutex.c
666 --- linux-2.6.22-590/kernel/mutex.c 2007-07-08 19:32:17.000000000 -0400
667 +++ linux-2.6.22-591/kernel/mutex.c 2009-03-16 20:58:59.000000000 -0400
669 #include <linux/spinlock.h>
670 #include <linux/interrupt.h>
671 #include <linux/debug_locks.h>
672 +#include <linux/arrays.h>
674 +#undef CONFIG_CHOPSTIX
675 +#ifdef CONFIG_CHOPSTIX
678 + unsigned long dcookie;
680 + unsigned char reason;
685 * In the DEBUG case we are using the "NULL fastpath" for mutexes,
687 __mutex_init(struct mutex *lock, const char *name, struct lock_class_key *key)
689 atomic_set(&lock->count, 1);
690 +#ifdef CONFIG_CHOPSTIX
693 spin_lock_init(&lock->wait_lock);
694 INIT_LIST_HEAD(&lock->wait_list);
697 * The locking fastpath is the 1->0 transition from
698 * 'unlocked' into 'locked' state.
701 __mutex_fastpath_lock(&lock->count, __mutex_lock_slowpath);
706 __set_task_state(task, state);
708 +#ifdef CONFIG_CHOPSTIX
711 + struct event event;
712 + struct event_spec espec;
713 + struct task_struct *p = lock->owner->task;
714 + /*spin_lock(&p->alloc_lock);*/
715 + espec.reason = 0; /* lock */
716 + event.event_data=&espec;
719 + event.event_type=5;
720 + (*rec_event)(&event, 1);
721 + /*spin_unlock(&p->alloc_lock);*/
729 /* didnt get the lock, go to sleep: */
730 spin_unlock_mutex(&lock->wait_lock, flags);
733 /* got the lock - rejoice! */
734 mutex_remove_waiter(lock, &waiter, task_thread_info(task));
735 debug_mutex_set_owner(lock, task_thread_info(task));
736 +#ifdef CONFIG_CHOPSTIX
737 + lock->owner = task_thread_info(task);
740 /* set it to 0 if there are no waiters left: */
741 if (likely(list_empty(&lock->wait_list)))
743 mutex_lock_nested(struct mutex *lock, unsigned int subclass)
747 __mutex_lock_common(lock, TASK_UNINTERRUPTIBLE, subclass);
751 mutex_lock_interruptible_nested(struct mutex *lock, unsigned int subclass)
755 return __mutex_lock_common(lock, TASK_INTERRUPTIBLE, subclass);
760 debug_mutex_wake_waiter(lock, waiter);
762 +#ifdef CONFIG_CHOPSTIX
765 + struct event event;
766 + struct event_spec espec;
768 + espec.reason = 1; /* unlock */
769 + event.event_data=&espec;
770 + event.task = lock->owner->task;
772 + event.event_type=5;
773 + (*rec_event)(&event, 1);
779 wake_up_process(waiter->task);
782 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/kernel/sched.c linux-2.6.22-591/kernel/sched.c
783 --- linux-2.6.22-590/kernel/sched.c 2009-03-16 20:49:42.000000000 -0400
784 +++ linux-2.6.22-591/kernel/sched.c 2009-03-16 20:58:59.000000000 -0400
786 * 1998-11-19 Implemented schedule_timeout() and related stuff
787 * by Andrea Arcangeli
788 * 2002-01-04 New ultra-scalable O(1) scheduler by Ingo Molnar:
789 - * hybrid priority-list and round-robin design with
790 + * hybrid priority-list and round-robin deventn with
791 * an array-switch method of distributing timeslices
792 * and per-CPU runqueues. Cleanups and useful suggestions
793 * by Davide Libenzi, preemptible kernel bits by Robert Love.
795 #include <linux/nmi.h>
796 #include <linux/init.h>
797 #include <asm/uaccess.h>
798 +#include <linux/arrays.h>
799 #include <linux/highmem.h>
800 #include <linux/smp_lock.h>
801 #include <asm/mmu_context.h>
803 #include <linux/vs_sched.h>
804 #include <linux/vs_cvirt.h>
806 +#define INTERRUPTIBLE -1
810 * Scheduler clock - returns current time in nanosec units.
811 * This is default implementation.
817 spin_lock(&rq->lock);
818 if (unlikely(rq != task_rq(p))) {
819 spin_unlock(&rq->lock);
820 @@ -1741,6 +1746,21 @@
821 * event cannot wake it up and insert it on the runqueue either.
823 p->state = TASK_RUNNING;
824 +#ifdef CONFIG_CHOPSTIX
825 + /* The jiffy of last interruption */
826 + if (p->state & TASK_UNINTERRUPTIBLE) {
827 + p->last_interrupted=jiffies;
830 + if (p->state & TASK_INTERRUPTIBLE) {
831 + p->last_interrupted=INTERRUPTIBLE;
834 + p->last_interrupted=RUNNING;
836 + /* The jiffy of last execution */
837 + p->last_ran_j=jiffies;
841 * Make sure we do not leak PI boosting priority to the child:
842 @@ -3608,6 +3628,7 @@
847 static inline int interactive_sleep(enum sleep_type sleep_type)
849 return (sleep_type == SLEEP_INTERACTIVE ||
850 @@ -3617,16 +3638,28 @@
852 * schedule() is the main scheduler function.
855 +#ifdef CONFIG_CHOPSTIX
856 +extern void (*rec_event)(void *,unsigned int);
859 + unsigned long dcookie;
860 + unsigned int count;
861 + unsigned int reason;
865 asmlinkage void __sched schedule(void)
867 struct task_struct *prev, *next;
868 struct prio_array *array;
869 struct list_head *queue;
870 unsigned long long now;
871 - unsigned long run_time;
872 + unsigned long run_time, diff;
873 int cpu, idx, new_prio;
876 + int sampling_reason;
879 * Test if we are atomic. Since do_exit() needs to call into
880 @@ -3680,6 +3713,7 @@
881 switch_count = &prev->nivcsw;
882 if (prev->state && !(preempt_count() & PREEMPT_ACTIVE)) {
883 switch_count = &prev->nvcsw;
885 if (unlikely((prev->state & TASK_INTERRUPTIBLE) &&
886 unlikely(signal_pending(prev))))
887 prev->state = TASK_RUNNING;
888 @@ -3689,6 +3723,17 @@
889 vx_uninterruptible_inc(prev);
891 deactivate_task(prev, rq);
892 +#ifdef CONFIG_CHOPSTIX
893 + /* An uninterruptible process just yielded. Record the current jiffie */
894 + if (prev->state & TASK_UNINTERRUPTIBLE) {
895 + prev->last_interrupted=jiffies;
897 + /* An interruptible process just yielded, or it got preempted.
898 + * Mark it as interruptible */
899 + else if (prev->state & TASK_INTERRUPTIBLE) {
900 + prev->last_interrupted=INTERRUPTIBLE;
906 @@ -3765,6 +3810,40 @@
908 prev->timestamp = prev->last_ran = now;
910 +#ifdef CONFIG_CHOPSTIX
911 + /* Run only if the Chopstix module so decrees it */
913 + prev->last_ran_j = jiffies;
914 + if (next->last_interrupted!=INTERRUPTIBLE) {
915 + if (next->last_interrupted!=RUNNING) {
916 + diff = (jiffies-next->last_interrupted);
917 + sampling_reason = 0;/* BLOCKING */
920 + diff = jiffies-next->last_ran_j;
921 + sampling_reason = 1;/* PREEMPTION */
924 + if (diff >= HZ/10) {
925 + struct event event;
926 + struct event_spec espec;
927 + struct pt_regs *regs;
928 + regs = task_pt_regs(current);
930 + espec.reason = sampling_reason;
931 + event.event_data=&espec;
933 + espec.pc=regs->eip;
934 + event.event_type=2;
935 + /* index in the event array currently set up */
936 + /* make sure the counters are loaded in the order we want them to show up*/
937 + (*rec_event)(&event, diff);
940 + /* next has been elected to run */
941 + next->last_interrupted=0;
944 sched_info_switch(prev, next);
945 if (likely(prev != next)) {
946 next->timestamp = next->last_ran = now;
947 @@ -4664,6 +4743,7 @@
949 read_unlock(&tasklist_lock);
953 if ((current->euid != p->euid) && (current->euid != p->uid) &&
954 !capable(CAP_SYS_NICE))
955 @@ -5032,6 +5112,7 @@
956 jiffies_to_timespec(p->policy == SCHED_FIFO ?
957 0 : task_timeslice(p), &t);
958 read_unlock(&tasklist_lock);
960 retval = copy_to_user(interval, &t, sizeof(t)) ? -EFAULT : 0;
963 @@ -7275,3 +7356,20 @@
968 +#ifdef CONFIG_CHOPSTIX
969 +void (*rec_event)(void *,unsigned int) = NULL;
971 +/* To support safe calling from asm */
972 +asmlinkage void rec_event_asm (struct event *event_signature_in, unsigned int count) {
973 + struct pt_regs *regs;
974 + struct event_spec *es = event_signature_in->event_data;
975 + regs = task_pt_regs(current);
976 + event_signature_in->task=current;
978 + event_signature_in->count=1;
979 + (*rec_event)(event_signature_in, count);
981 +EXPORT_SYMBOL(rec_event);
982 +EXPORT_SYMBOL(in_sched_functions);
984 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/kernel/timer.S linux-2.6.22-591/kernel/timer.S
985 --- linux-2.6.22-590/kernel/timer.S 1969-12-31 19:00:00.000000000 -0500
986 +++ linux-2.6.22-591/kernel/timer.S 2009-03-16 20:58:59.000000000 -0400
989 + .section .debug_abbrev,"",@progbits
991 + .section .debug_info,"",@progbits
993 + .section .debug_line,"",@progbits
997 +.globl __round_jiffies
998 + .type __round_jiffies, @function
1001 + .file 1 "kernel/timer.c"
1009 + leal (%edx,%edx,2), %esi
1014 + leal (%eax,%esi), %ecx
1044 + leal 250(%ecx), %eax
1051 + movl jiffies, %eax
1068 + .size __round_jiffies, .-__round_jiffies
1069 +.globl __round_jiffies_relative
1070 + .type __round_jiffies_relative, @function
1071 +__round_jiffies_relative:
1076 + movl jiffies, %ecx
1079 + call __round_jiffies
1081 + movl jiffies, %edx
1086 + .size __round_jiffies_relative, .-__round_jiffies_relative
1087 +.globl round_jiffies
1088 + .type round_jiffies, @function
1096 + movl %fs:per_cpu__cpu_number,%edx
1100 + jmp __round_jiffies
1103 + .size round_jiffies, .-round_jiffies
1104 +.globl round_jiffies_relative
1105 + .type round_jiffies_relative, @function
1106 +round_jiffies_relative:
1113 + movl %fs:per_cpu__cpu_number,%edx
1117 + jmp __round_jiffies_relative
1120 + .size round_jiffies_relative, .-round_jiffies_relative
1121 + .type internal_add_timer, @function
1122 +internal_add_timer:
1133 + movl 8(%edx), %eax
1136 + movl 8(%ebx), %esi
1150 + leal 2060(%eax,%ebx), %ecx
1157 + cmpl $1048575, %ecx
1163 + leal 2572(%eax,%ebx), %ecx
1170 + cmpl $67108863, %ecx
1176 + leal 3084(%eax,%ebx), %ecx
1191 + leal 12(%ebx,%eax,8), %ecx
1199 + leal 3596(%ebx,%eax,8), %ecx
1205 + .file 2 "include/linux/list.h"
1207 + movl 4(%ecx), %eax
1214 + movl %edx, 4(%ecx)
1229 + movl %eax, 4(%edx)
1238 + .size internal_add_timer, .-internal_add_timer
1240 + .type init_timer, @function
1249 + movl $per_cpu__tvec_bases, %edx
1252 + movl %fs:per_cpu__this_cpu_off,%ecx
1257 + movl (%edx,%ecx), %edx
1258 + movl %edx, 20(%eax)
1262 + .size init_timer, .-init_timer
1263 +.globl init_timer_deferrable
1264 + .type init_timer_deferrable, @function
1265 +init_timer_deferrable:
1287 + .size init_timer_deferrable, .-init_timer_deferrable
1288 + .section .rodata.str1.1,"aMS",@progbits,1
1290 + .string "kernel/timer.c"
1292 + .type cascade, @function
1308 + leal (%edx,%ecx,8), %eax
1318 + movl %esp, 4(%edx)
1322 + movl 4(%eax), %edx
1336 + movl %edx, 4(%esp)
1351 + movl %eax, 4(%eax)
1364 + movl 20(%edx), %eax
1371 +.pushsection __bug_table,"a"
1382 + call internal_add_timer
1409 + .size cascade, .-cascade
1410 + .section .rodata.str1.1
1412 + .string "WARNING: at %s:%d %s()\n"
1413 + .section .init.text,"ax",@progbits
1414 + .type timer_cpu_notify, @function
1443 + cmpb $0, tvec_base_done.19028(%esi)
1447 + cmpb $0, boot_done.19029
1453 + .file 3 "include/linux/slab_def.h"
1455 + movl malloc_sizes+100, %eax
1459 + call kmem_cache_alloc
1480 + movl $__func__.19031, 12(%esp)
1481 + movl $1252, 8(%esp)
1482 + movl $.LC0, 4(%esp)
1483 + movl $.LC1, (%esp)
1497 + .file 4 "include/asm/string.h"
1511 + movl __per_cpu_offset(,%esi,4), %edx
1515 + movl $per_cpu__tvec_bases, %eax
1519 + movl %ebx, (%eax,%edx)
1526 + movb $1, boot_done.19029
1527 + movl $boot_tvec_bases, %ebx
1531 + movb $1, tvec_base_done.19028(%esi)
1538 + movl __per_cpu_offset(,%esi,4), %edx
1542 + movl $per_cpu__tvec_bases, %eax
1546 + movl (%eax,%edx), %ebx
1553 + leal 2048(%ebx), %edx
1555 + leal 2560(%ebx), %esi
1557 + leal 3072(%ebx), %edi
1559 + leal 3584(%ebx), %ecx
1562 + leal 12(%ecx), %eax
1570 + movl %eax, 1548(%edx)
1578 + movl %eax, 1552(%edx)
1582 + leal 12(%edi), %eax
1589 + movl %eax, 1036(%edx)
1591 + movl %eax, 1040(%edx)
1595 + leal 12(%esi), %eax
1602 + movl %eax, 524(%edx)
1604 + movl %eax, 528(%edx)
1608 + leal 12(%edx), %eax
1613 + movl %eax, 12(%edx)
1615 + movl %eax, 16(%edx)
1627 + leal 12(%edx), %eax
1634 + movl %eax, 12(%edx)
1636 + movl %eax, 16(%edx)
1644 + movl jiffies, %eax
1646 + movl %eax, 8(%ebx)
1664 + .size timer_cpu_notify, .-timer_cpu_notify
1666 + .type init_timers, @function
1672 + movl $timers_nb, %eax
1675 + movl %fs:per_cpu__cpu_number,%ecx
1679 + call timer_cpu_notify
1687 +.pushsection __bug_table,"a"
1697 + movl $timers_nb, %eax
1699 + call register_cpu_notifier
1702 + movl $run_timer_softirq, %edx
1706 + .size init_timers, .-init_timers
1707 + .section .rodata.str1.1
1709 + .string "<4>huh, entered %p with preempt_count %08x, exited with %08x?\n"
1711 + .type run_timer_softirq, @function
1720 + movl $per_cpu__tvec_bases, %eax
1734 + movl %fs:per_cpu__this_cpu_off,%edx
1739 + movl (%eax,%edx), %esi
1742 + call hrtimer_run_queues
1745 + movl jiffies, %eax
1746 + cmpl 8(%esi), %eax
1752 + call _spin_lock_irq
1767 + leal 2060(%esi), %edx
1776 + movl 8(%esi), %ecx
1777 + leal 2572(%esi), %edx
1788 + movl 8(%esi), %ecx
1789 + leal 3084(%esi), %edx
1799 + movl 8(%esi), %ecx
1800 + leal 3596(%esi), %edx
1808 + leal (%esi,%ebx,8), %ecx
1814 + leal 16(%esp), %ebx
1817 + movl 12(%ecx), %eax
1823 + leal 12(%ecx), %edx
1829 + movl %ebx, 4(%eax)
1831 + movl %eax, 16(%esp)
1833 + movl 4(%edx), %eax
1834 + movl %eax, 20(%esp)
1842 + movl %edx, 4(%edx)
1844 + movl %edx, 12(%ecx)
1853 + movl 12(%ebx), %edi
1855 + movl 16(%ebx), %eax
1860 + movl %ebx, 4(%esi)
1868 + movl 4(%ebx), %edx
1873 + movl %edx, 4(%ecx)
1879 + movl $2097664, 4(%ebx)
1886 + .file 5 "include/asm/spinlock.h"
1897 + .file 6 "include/asm/irqflags.h"
1911 + movl 20(%edx), %ebx
1919 + movl 20(%eax), %eax
1923 + movl %ebx, 8(%esp)
1924 + movl %edi, 4(%esp)
1925 + movl %eax, 12(%esp)
1926 + movl $.LC2, (%esp)
1931 +.pushsection __bug_table,"a"
1943 + call _spin_lock_irq
1950 + movl 16(%esp), %ebx
1955 + leal 16(%esp), %eax
1961 + movl jiffies, %eax
1962 + movl 8(%esi), %ecx
2003 + .size run_timer_softirq, .-run_timer_softirq
2005 + .type do_sysinfo, @function
2046 + .file 7 "include/linux/seqlock.h"
2048 + movl xtime_lock, %edi
2053 + lock; addl $0,0(%esp)
2055 +.section .altinstructions,"a"
2063 +.section .altinstr_replacement,"ax"
2073 + call getnstimeofday
2076 + movl wall_to_monotonic+4, %eax
2078 + movl wall_to_monotonic, %edx
2080 + addl 4(%esp), %eax
2084 + cmpl $999999999, %eax
2088 + movl %eax, 4(%esp)
2092 + subl $1000000000, %eax
2093 + movl %eax, 4(%esp)
2095 + leal 1(%edx), %eax
2105 + movl avenrun, %eax
2107 + movl %eax, 4(%ebx)
2109 + movl avenrun+4, %eax
2111 + movl %eax, 8(%ebx)
2113 + movl avenrun+8, %eax
2115 + movl %eax, 12(%ebx)
2117 + movl nr_threads, %eax
2118 + movw %ax, 40(%ebx)
2125 + lock; addl $0,0(%esp)
2127 +.section .altinstructions,"a"
2135 +.section .altinstr_replacement,"ax"
2145 + xorl xtime_lock, %edi
2156 + movl 16(%ebx), %eax
2157 + movl 32(%ebx), %ecx
2158 + leal (%eax,%ecx), %edx
2166 + movl 52(%ebx), %eax
2174 + leal (%edx,%edx), %edi
2190 + sall %cl, 16(%ebx)
2192 + sall %cl, 20(%ebx)
2194 + sall %cl, 24(%ebx)
2196 + sall %cl, 28(%ebx)
2198 + sall %cl, 32(%ebx)
2200 + sall %cl, 36(%ebx)
2202 + sall %cl, 44(%ebx)
2204 + sall %cl, 48(%ebx)
2220 + .size do_sysinfo, .-do_sysinfo
2222 + .type sys_sysinfo, @function
2236 + movl 72(%esp), %eax
2250 + .size sys_sysinfo, .-sys_sysinfo
2251 + .type process_timeout, @function
2257 + jmp wake_up_process
2260 + .size process_timeout, .-process_timeout
2262 + .type sys_alarm, @function
2268 + movl 4(%esp), %eax
2270 + jmp alarm_setitimer
2272 + .size sys_alarm, .-sys_alarm
2274 + .type do_timer, @function
2295 + addl %eax, jiffies_64
2296 + adcl %edx, jiffies_64+4
2300 + call update_wall_time
2305 + movl count.18791, %eax
2310 + movl %eax, count.18791
2318 + movl count.18791, %esi
2319 + movl avenrun, %ebx
2321 + movl avenrun+4, %ecx
2330 + imull $164, %eax, %edx
2332 + imull $34, %eax, %ebp
2334 + imull $11, %eax, %edi
2337 + movl avenrun+8, %edx
2340 + imull $2014, %ecx, %eax
2343 + imull $1884, %ebx, %ebx
2345 + leal (%eax,%ebp), %ecx
2347 + imull $2037, %edx, %eax
2353 + leal (%eax,%edi), %edx
2361 + movl %edx, avenrun+8
2362 + movl %ecx, avenrun+4
2363 + movl %ebx, avenrun
2364 + movl %esi, count.18791
2380 + .size do_timer, .-do_timer
2381 +.globl run_local_timers
2382 + .type run_local_timers, @function
2388 + call raise_softirq
2390 + jmp softlockup_tick
2392 + .size run_local_timers, .-run_local_timers
2393 + .type lock_timer_base, @function
2412 + movl 20(%edi), %ebx
2419 + call _spin_lock_irqsave
2422 + cmpl 20(%edi), %ebx
2427 + call _spin_unlock_irqrestore
2432 + .file 8 "include/asm/processor.h"
2455 + .size lock_timer_base, .-lock_timer_base
2456 +.globl try_to_del_timer_sync
2457 + .type try_to_del_timer_sync, @function
2458 +try_to_del_timer_sync:
2475 + call lock_timer_base
2479 + cmpl %ebx, 4(%eax)
2499 + movl 4(%ebx), %eax
2504 + movl %eax, 4(%edx)
2510 + movl $2097664, 4(%ebx)
2523 + call _spin_unlock_irqrestore
2534 + .size try_to_del_timer_sync, .-try_to_del_timer_sync
2535 +.globl del_timer_sync
2536 + .type del_timer_sync, @function
2550 + call try_to_del_timer_sync
2571 + .size del_timer_sync, .-del_timer_sync
2573 + .type __mod_timer, @function
2596 +.pushsection __bug_table,"a"
2606 + leal 4(%esp), %edx
2607 + call lock_timer_base
2621 + movl 4(%ebx), %eax
2628 + movl %eax, 4(%edx)
2634 + movl $2097664, 4(%ebx)
2643 + movl %fs:per_cpu__this_cpu_off,%edx
2647 + movl $per_cpu__tvec_bases, %eax
2650 + movl (%eax,%edx), %edi
2656 + cmpl %ebx, 4(%esi)
2686 + movl 20(%ebx), %eax
2689 + movl %eax, 20(%ebx)
2695 + movl %ebp, 8(%ebx)
2700 + call internal_add_timer
2704 + movl 4(%esp), %edx
2705 + call _spin_unlock_irqrestore
2720 + .size __mod_timer, .-__mod_timer
2721 + .section .rodata.str1.1
2723 + .string "<3>schedule_timeout: wrong timeout value %lx\n"
2724 + .section .sched.text,"ax",@progbits
2725 +.globl schedule_timeout
2726 + .type schedule_timeout, @function
2739 + cmpl $2147483647, %eax
2751 + movl %eax, 4(%esp)
2752 + movl $.LC3, (%esp)
2760 + .file 9 "include/asm/current.h"
2763 + movl %fs:per_cpu__current_task,%eax
2775 + movl jiffies, %esi
2778 + .file 10 "include/linux/timer.h"
2780 + leal 8(%esp), %ebx
2782 + movl $process_timeout, 20(%esp)
2786 + leal (%eax,%esi), %esi
2793 + movl %fs:per_cpu__current_task,%eax
2802 + movl %eax, 24(%esp)
2821 + call del_timer_sync
2823 + movl jiffies, %eax
2840 + .size schedule_timeout, .-schedule_timeout
2841 +.globl schedule_timeout_uninterruptible
2842 + .type schedule_timeout_uninterruptible, @function
2843 +schedule_timeout_uninterruptible:
2852 + movl %fs:per_cpu__current_task,%edx
2861 + jmp schedule_timeout
2864 + .size schedule_timeout_uninterruptible, .-schedule_timeout_uninterruptible
2867 + .type msleep, @function
2873 + call msecs_to_jiffies
2880 + call schedule_timeout_uninterruptible
2889 + .size msleep, .-msleep
2890 + .section .sched.text
2891 +.globl schedule_timeout_interruptible
2892 + .type schedule_timeout_interruptible, @function
2893 +schedule_timeout_interruptible:
2902 + movl %fs:per_cpu__current_task,%edx
2911 + jmp schedule_timeout
2914 + .size schedule_timeout_interruptible, .-schedule_timeout_interruptible
2916 +.globl msleep_interruptible
2917 + .type msleep_interruptible, @function
2918 +msleep_interruptible:
2923 + call msecs_to_jiffies
2925 + leal 1(%eax), %edx
2931 + call schedule_timeout_interruptible
2944 + movl %fs:per_cpu__current_task,%eax
2954 + .file 11 "include/linux/sched.h"
2956 + movl 4(%eax), %eax
2962 + .file 12 "include/asm/bitops.h"
2964 + movl 8(%eax), %eax
2979 + jmp jiffies_to_msecs
2982 + .size msleep_interruptible, .-msleep_interruptible
2983 +.globl update_process_times
2984 + .type update_process_times, @function
2985 +update_process_times:
2999 + movl %fs:per_cpu__cpu_number,%esi
3008 + movl %fs:per_cpu__current_task,%ebx
3021 + call account_user_time
3030 + call account_system_time
3033 + call run_local_timers
3042 + call rcu_check_callbacks
3045 + call scheduler_tick
3056 + jmp run_posix_cpu_timers
3059 + .size update_process_times, .-update_process_times
3061 + .type sys_getpid, @function
3070 + movl rec_event, %ebx
3075 + movl $666, 36(%esp)
3077 + leal 24(%esp), %eax
3083 + movl %fs:per_cpu__current_task,%edx
3090 + movl 468(%edx), %ecx
3093 + movl %eax, 8(%esp)
3097 + movl %edx, 20(%esp)
3106 + movl %ecx, 24(%esp)
3117 + movl %fs:per_cpu__current_task,%eax
3120 + movl 176(%eax), %eax
3130 + .size sys_getpid, .-sys_getpid
3132 + .type sys_getppid, @function
3142 + movl %fs:per_cpu__current_task,%eax
3145 + movl 180(%eax), %eax
3147 + movl 176(%eax), %eax
3155 + .size sys_getppid, .-sys_getppid
3157 + .type sys_getuid, @function
3166 + movl %fs:per_cpu__current_task,%eax
3169 + movl 340(%eax), %eax
3177 + .size sys_getuid, .-sys_getuid
3179 + .type sys_geteuid, @function
3188 + movl %fs:per_cpu__current_task,%eax
3191 + movl 344(%eax), %eax
3199 + .size sys_geteuid, .-sys_geteuid
3201 + .type sys_getgid, @function
3210 + movl %fs:per_cpu__current_task,%eax
3213 + movl 356(%eax), %eax
3221 + .size sys_getgid, .-sys_getgid
3223 + .type sys_getegid, @function
3232 + movl %fs:per_cpu__current_task,%eax
3235 + movl 360(%eax), %eax
3243 + .size sys_getegid, .-sys_getegid
3245 + .type sys_gettid, @function
3254 + movl %fs:per_cpu__current_task,%eax
3257 + movl 172(%eax), %eax
3265 + .size sys_gettid, .-sys_gettid
3267 + .type mod_timer, @function
3277 +.pushsection __bug_table,"a"
3287 + cmpl %edx, 8(%eax)
3301 + .size mod_timer, .-mod_timer
3303 + .type del_timer, @function
3324 + call lock_timer_base
3342 + movl 4(%ebx), %eax
3347 + movl %eax, 4(%edx)
3353 + movl $2097664, 4(%ebx)
3366 + call _spin_unlock_irqrestore
3378 + .size del_timer, .-del_timer
3379 +.globl add_timer_on
3380 + .type add_timer_on, @function
3388 + movl __per_cpu_offset(,%edx,4), %edx
3398 + movl $per_cpu__tvec_bases, %eax
3404 + movl (%eax,%edx), %edi
3413 +.pushsection __bug_table,"a"
3424 + call _spin_lock_irqsave
3433 + movl 20(%esi), %eax
3436 + movl %eax, 20(%esi)
3441 + call internal_add_timer
3453 + jmp _spin_unlock_irqrestore
3456 + .size add_timer_on, .-add_timer_on
3458 + .section .data.cacheline_aligned,"aw",@progbits
3460 + .type jiffies_64, @object
3461 + .size jiffies_64, 8
3465 + .section __ksymtab,"a",@progbits
3467 + .type __ksymtab_jiffies_64, @object
3468 + .size __ksymtab_jiffies_64, 8
3469 +__ksymtab_jiffies_64:
3471 + .long __kstrtab_jiffies_64
3473 + .type __ksymtab_boot_tvec_bases, @object
3474 + .size __ksymtab_boot_tvec_bases, 8
3475 +__ksymtab_boot_tvec_bases:
3476 + .long boot_tvec_bases
3477 + .long __kstrtab_boot_tvec_bases
3478 + .section __ksymtab_gpl,"a",@progbits
3480 + .type __ksymtab___round_jiffies, @object
3481 + .size __ksymtab___round_jiffies, 8
3482 +__ksymtab___round_jiffies:
3483 + .long __round_jiffies
3484 + .long __kstrtab___round_jiffies
3486 + .type __ksymtab___round_jiffies_relative, @object
3487 + .size __ksymtab___round_jiffies_relative, 8
3488 +__ksymtab___round_jiffies_relative:
3489 + .long __round_jiffies_relative
3490 + .long __kstrtab___round_jiffies_relative
3492 + .type __ksymtab_round_jiffies, @object
3493 + .size __ksymtab_round_jiffies, 8
3494 +__ksymtab_round_jiffies:
3495 + .long round_jiffies
3496 + .long __kstrtab_round_jiffies
3498 + .type __ksymtab_round_jiffies_relative, @object
3499 + .size __ksymtab_round_jiffies_relative, 8
3500 +__ksymtab_round_jiffies_relative:
3501 + .long round_jiffies_relative
3502 + .long __kstrtab_round_jiffies_relative
3503 + .section __ksymtab
3505 + .type __ksymtab_init_timer, @object
3506 + .size __ksymtab_init_timer, 8
3507 +__ksymtab_init_timer:
3509 + .long __kstrtab_init_timer
3511 + .type __ksymtab_init_timer_deferrable, @object
3512 + .size __ksymtab_init_timer_deferrable, 8
3513 +__ksymtab_init_timer_deferrable:
3514 + .long init_timer_deferrable
3515 + .long __kstrtab_init_timer_deferrable
3517 + .type __ksymtab___mod_timer, @object
3518 + .size __ksymtab___mod_timer, 8
3519 +__ksymtab___mod_timer:
3521 + .long __kstrtab___mod_timer
3523 + .type __ksymtab_mod_timer, @object
3524 + .size __ksymtab_mod_timer, 8
3525 +__ksymtab_mod_timer:
3527 + .long __kstrtab_mod_timer
3529 + .type __ksymtab_del_timer, @object
3530 + .size __ksymtab_del_timer, 8
3531 +__ksymtab_del_timer:
3533 + .long __kstrtab_del_timer
3535 + .type __ksymtab_try_to_del_timer_sync, @object
3536 + .size __ksymtab_try_to_del_timer_sync, 8
3537 +__ksymtab_try_to_del_timer_sync:
3538 + .long try_to_del_timer_sync
3539 + .long __kstrtab_try_to_del_timer_sync
3541 + .type __ksymtab_del_timer_sync, @object
3542 + .size __ksymtab_del_timer_sync, 8
3543 +__ksymtab_del_timer_sync:
3544 + .long del_timer_sync
3545 + .long __kstrtab_del_timer_sync
3547 + .type __ksymtab_avenrun, @object
3548 + .size __ksymtab_avenrun, 8
3551 + .long __kstrtab_avenrun
3553 + .type __ksymtab_schedule_timeout, @object
3554 + .size __ksymtab_schedule_timeout, 8
3555 +__ksymtab_schedule_timeout:
3556 + .long schedule_timeout
3557 + .long __kstrtab_schedule_timeout
3559 + .type __ksymtab_schedule_timeout_interruptible, @object
3560 + .size __ksymtab_schedule_timeout_interruptible, 8
3561 +__ksymtab_schedule_timeout_interruptible:
3562 + .long schedule_timeout_interruptible
3563 + .long __kstrtab_schedule_timeout_interruptible
3565 + .type __ksymtab_schedule_timeout_uninterruptible, @object
3566 + .size __ksymtab_schedule_timeout_uninterruptible, 8
3567 +__ksymtab_schedule_timeout_uninterruptible:
3568 + .long schedule_timeout_uninterruptible
3569 + .long __kstrtab_schedule_timeout_uninterruptible
3571 + .type __ksymtab_msleep, @object
3572 + .size __ksymtab_msleep, 8
3575 + .long __kstrtab_msleep
3577 + .type __ksymtab_msleep_interruptible, @object
3578 + .size __ksymtab_msleep_interruptible, 8
3579 +__ksymtab_msleep_interruptible:
3580 + .long msleep_interruptible
3581 + .long __kstrtab_msleep_interruptible
3582 + .section .init.data,"aw",@progbits
3584 + .type timers_nb, @object
3585 + .size timers_nb, 12
3587 + .long timer_cpu_notify
3589 + .section .data.percpu,"aw",@progbits
3591 + .type per_cpu__tvec_bases, @object
3592 + .size per_cpu__tvec_bases, 4
3593 +per_cpu__tvec_bases:
3594 + .long boot_tvec_bases
3595 + .local boot_done.19029
3596 + .comm boot_done.19029,1,1
3598 + .type __func__.19031, @object
3599 + .size __func__.19031, 16
3601 + .string "init_timers_cpu"
3602 + .local tvec_base_done.19028
3603 + .comm tvec_base_done.19028,32,32
3606 + .type count.18791, @object
3607 + .size count.18791, 4
3610 +.globl boot_tvec_bases
3613 + .type boot_tvec_bases, @object
3614 + .size boot_tvec_bases, 4224
3619 + .type avenrun, @object
3625 + .type rec_event, @object
3626 + .size rec_event, 4
3629 + .section __ksymtab_strings,"a",@progbits
3630 + .type __kstrtab_jiffies_64, @object
3631 + .size __kstrtab_jiffies_64, 11
3632 +__kstrtab_jiffies_64:
3633 + .string "jiffies_64"
3634 + .type __kstrtab_boot_tvec_bases, @object
3635 + .size __kstrtab_boot_tvec_bases, 16
3636 +__kstrtab_boot_tvec_bases:
3637 + .string "boot_tvec_bases"
3638 + .type __kstrtab___round_jiffies, @object
3639 + .size __kstrtab___round_jiffies, 16
3640 +__kstrtab___round_jiffies:
3641 + .string "__round_jiffies"
3642 + .type __kstrtab___round_jiffies_relative, @object
3643 + .size __kstrtab___round_jiffies_relative, 25
3644 +__kstrtab___round_jiffies_relative:
3645 + .string "__round_jiffies_relative"
3646 + .type __kstrtab_round_jiffies, @object
3647 + .size __kstrtab_round_jiffies, 14
3648 +__kstrtab_round_jiffies:
3649 + .string "round_jiffies"
3650 + .type __kstrtab_round_jiffies_relative, @object
3651 + .size __kstrtab_round_jiffies_relative, 23
3652 +__kstrtab_round_jiffies_relative:
3653 + .string "round_jiffies_relative"
3654 + .type __kstrtab_init_timer, @object
3655 + .size __kstrtab_init_timer, 11
3656 +__kstrtab_init_timer:
3657 + .string "init_timer"
3658 + .type __kstrtab_init_timer_deferrable, @object
3659 + .size __kstrtab_init_timer_deferrable, 22
3660 +__kstrtab_init_timer_deferrable:
3661 + .string "init_timer_deferrable"
3662 + .type __kstrtab___mod_timer, @object
3663 + .size __kstrtab___mod_timer, 12
3664 +__kstrtab___mod_timer:
3665 + .string "__mod_timer"
3666 + .type __kstrtab_mod_timer, @object
3667 + .size __kstrtab_mod_timer, 10
3668 +__kstrtab_mod_timer:
3669 + .string "mod_timer"
3670 + .type __kstrtab_del_timer, @object
3671 + .size __kstrtab_del_timer, 10
3672 +__kstrtab_del_timer:
3673 + .string "del_timer"
3674 + .type __kstrtab_try_to_del_timer_sync, @object
3675 + .size __kstrtab_try_to_del_timer_sync, 22
3676 +__kstrtab_try_to_del_timer_sync:
3677 + .string "try_to_del_timer_sync"
3678 + .type __kstrtab_del_timer_sync, @object
3679 + .size __kstrtab_del_timer_sync, 15
3680 +__kstrtab_del_timer_sync:
3681 + .string "del_timer_sync"
3682 + .type __kstrtab_avenrun, @object
3683 + .size __kstrtab_avenrun, 8
3686 + .type __kstrtab_schedule_timeout, @object
3687 + .size __kstrtab_schedule_timeout, 17
3688 +__kstrtab_schedule_timeout:
3689 + .string "schedule_timeout"
3690 + .type __kstrtab_schedule_timeout_interruptible, @object
3691 + .size __kstrtab_schedule_timeout_interruptible, 31
3692 +__kstrtab_schedule_timeout_interruptible:
3693 + .string "schedule_timeout_interruptible"
3695 + .type __kstrtab_schedule_timeout_uninterruptible, @object
3696 + .size __kstrtab_schedule_timeout_uninterruptible, 33
3697 +__kstrtab_schedule_timeout_uninterruptible:
3698 + .string "schedule_timeout_uninterruptible"
3699 + .type __kstrtab_msleep, @object
3700 + .size __kstrtab_msleep, 7
3703 + .type __kstrtab_msleep_interruptible, @object
3704 + .size __kstrtab_msleep_interruptible, 21
3705 +__kstrtab_msleep_interruptible:
3706 + .string "msleep_interruptible"
3708 + .section .debug_frame,"",@progbits
3710 + .long .LECIE0-.LSCIE0
3726 + .long .LEFDE0-.LASFDE0
3730 + .long .LFE883-.LFB883
3732 + .long .LCFI0-.LFB883
3736 + .long .LCFI1-.LCFI0
3744 + .long .LCFI2-.LCFI1
3750 + .long .LCFI3-.LCFI2
3756 + .long .LEFDE2-.LASFDE2
3760 + .long .LFE884-.LFB884
3764 + .long .LEFDE4-.LASFDE4
3768 + .long .LFE885-.LFB885
3772 + .long .LEFDE6-.LASFDE6
3776 + .long .LFE886-.LFB886
3780 + .long .LEFDE8-.LASFDE8
3784 + .long .LFE888-.LFB888
3786 + .long .LCFI4-.LFB888
3790 + .long .LCFI5-.LCFI4
3800 + .long .LEFDE10-.LASFDE10
3804 + .long .LFE889-.LFB889
3808 + .long .LEFDE12-.LASFDE12
3812 + .long .LFE890-.LFB890
3814 + .long .LCFI6-.LFB890
3822 + .long .LEFDE14-.LASFDE14
3826 + .long .LFE899-.LFB899
3828 + .long .LCFI7-.LFB899
3834 + .long .LCFI8-.LCFI7
3840 + .long .LCFI9-.LCFI8
3844 + .long .LCFI10-.LCFI9
3852 + .long .LEFDE16-.LASFDE16
3856 + .long .LFE923-.LFB923
3858 + .long .LCFI11-.LFB923
3862 + .long .LCFI12-.LCFI11
3866 + .long .LCFI13-.LCFI12
3876 + .long .LCFI14-.LCFI13
3880 + .long .LCFI15-.LCFI14
3888 + .long .LEFDE18-.LASFDE18
3892 + .long .LFE924-.LFB924
3896 + .long .LEFDE20-.LASFDE20
3900 + .long .LFE904-.LFB904
3902 + .long .LCFI16-.LFB904
3906 + .long .LCFI17-.LCFI16
3910 + .long .LCFI18-.LCFI17
3914 + .long .LCFI19-.LCFI18
3926 + .long .LEFDE22-.LASFDE22
3930 + .long .LFE920-.LFB920
3932 + .long .LCFI20-.LFB920
3936 + .long .LCFI21-.LCFI20
3944 + .long .LCFI22-.LCFI21
3950 + .long .LEFDE24-.LASFDE24
3954 + .long .LFE921-.LFB921
3956 + .long .LCFI23-.LFB921
3960 + .long .LCFI24-.LCFI23
3968 + .long .LEFDE26-.LASFDE26
3972 + .long .LFE915-.LFB915
3976 + .long .LEFDE28-.LASFDE28
3980 + .long .LFE908-.LFB908
3984 + .long .LEFDE30-.LASFDE30
3988 + .long .LFE907-.LFB907
3990 + .long .LCFI25-.LFB907
3994 + .long .LCFI26-.LCFI25
3998 + .long .LCFI27-.LCFI26
4002 + .long .LCFI28-.LCFI27
4014 + .long .LCFI29-.LCFI28
4020 + .long .LEFDE32-.LASFDE32
4024 + .long .LFE905-.LFB905
4028 + .long .LEFDE34-.LASFDE34
4032 + .long .LFE892-.LFB892
4034 + .long .LCFI30-.LFB892
4040 + .long .LCFI31-.LCFI30
4046 + .long .LCFI32-.LCFI31
4050 + .long .LCFI33-.LCFI32
4060 + .long .LEFDE36-.LASFDE36
4064 + .long .LFE897-.LFB897
4066 + .long .LCFI34-.LFB897
4072 + .long .LCFI35-.LCFI34
4078 + .long .LCFI36-.LCFI35
4084 + .long .LEFDE38-.LASFDE38
4088 + .long .LFE898-.LFB898
4090 + .long .LCFI37-.LFB898
4098 + .long .LEFDE40-.LASFDE40
4102 + .long .LFE893-.LFB893
4104 + .long .LCFI38-.LFB893
4110 + .long .LCFI39-.LCFI38
4114 + .long .LCFI40-.LCFI39
4118 + .long .LCFI41-.LCFI40
4128 + .long .LCFI42-.LCFI41
4134 + .long .LEFDE42-.LASFDE42
4138 + .long .LFE916-.LFB916
4140 + .long .LCFI43-.LFB916
4144 + .long .LCFI44-.LCFI43
4152 + .long .LCFI45-.LCFI44
4158 + .long .LEFDE44-.LASFDE44
4162 + .long .LFE918-.LFB918
4166 + .long .LEFDE46-.LASFDE46
4170 + .long .LFE925-.LFB925
4174 + .long .LEFDE48-.LASFDE48
4178 + .long .LFE917-.LFB917
4182 + .long .LEFDE50-.LASFDE50
4186 + .long .LFE926-.LFB926
4190 + .long .LEFDE52-.LASFDE52
4194 + .long .LFE901-.LFB901
4196 + .long .LCFI46-.LFB901
4202 + .long .LCFI47-.LCFI46
4206 + .long .LCFI48-.LCFI47
4216 + .long .LEFDE54-.LASFDE54
4220 + .long .LFE909-.LFB909
4222 + .long .LCFI49-.LFB909
4226 + .long .LCFI50-.LCFI49
4234 + .long .LEFDE56-.LASFDE56
4238 + .long .LFE910-.LFB910
4242 + .long .LEFDE58-.LASFDE58
4246 + .long .LFE911-.LFB911
4250 + .long .LEFDE60-.LASFDE60
4254 + .long .LFE912-.LFB912
4258 + .long .LEFDE62-.LASFDE62
4262 + .long .LFE913-.LFB913
4266 + .long .LEFDE64-.LASFDE64
4270 + .long .LFE914-.LFB914
4274 + .long .LEFDE66-.LASFDE66
4278 + .long .LFE919-.LFB919
4282 + .long .LEFDE68-.LASFDE68
4286 + .long .LFE895-.LFB895
4290 + .long .LEFDE70-.LASFDE70
4294 + .long .LFE896-.LFB896
4296 + .long .LCFI51-.LFB896
4302 + .long .LCFI52-.LCFI51
4308 + .long .LCFI53-.LCFI52
4314 + .long .LEFDE72-.LASFDE72
4318 + .long .LFE894-.LFB894
4320 + .long .LCFI54-.LFB894
4324 + .long .LCFI55-.LCFI54
4332 + .long .LCFI56-.LCFI55
4339 + .file 13 "include/linux/spinlock_types.h"
4340 + .file 14 "include/asm/spinlock_types.h"
4341 + .file 15 "include/linux/thread_info.h"
4342 + .file 16 "include/asm/thread_info.h"
4343 + .file 17 "include/linux/capability.h"
4344 + .file 18 "include/asm/atomic.h"
4345 + .file 19 "include/linux/cpumask.h"
4346 + .file 20 "include/asm/page.h"
4347 + .file 21 "include/linux/mm.h"
4348 + .file 22 "include/linux/rbtree.h"
4349 + .file 23 "include/linux/prio_tree.h"
4350 + .file 24 "include/linux/mmzone.h"
4351 + .file 25 "include/linux/mm_types.h"
4352 + .file 26 "include/linux/fs.h"
4353 + .file 27 "include/linux/futex.h"
4354 + .file 28 "include/linux/types.h"
4355 + .file 29 "include/asm/posix_types.h"
4356 + .file 30 "include/asm/types.h"
4357 + .file 31 "include/linux/time.h"
4358 + .file 32 "include/linux/mutex.h"
4359 + .file 33 "include/linux/rwsem.h"
4360 + .file 34 "include/asm/rwsem.h"
4361 + .file 35 "include/linux/fs_struct.h"
4362 + .file 36 "include/linux/dcache.h"
4363 + .file 37 "include/linux/rcupdate.h"
4364 + .file 38 "include/linux/sysfs.h"
4365 + .file 39 "include/linux/namei.h"
4366 + .file 40 "include/asm/alternative.h"
4367 + .file 41 "include/linux/module.h"
4368 + .file 42 "include/linux/kobject.h"
4369 + .file 43 "include/linux/kref.h"
4370 + .file 44 "include/linux/wait.h"
4371 + .file 45 "include/asm/uaccess.h"
4372 + .file 46 "include/asm/module.h"
4373 + .file 47 "include/asm-generic/bug.h"
4374 + .file 48 "include/asm/local.h"
4375 + .file 49 "include/asm-generic/atomic.h"
4376 + .file 50 "include/linux/elf.h"
4377 + .file 51 "include/linux/aio.h"
4378 + .file 52 "include/linux/workqueue.h"
4379 + .file 53 "include/linux/aio_abi.h"
4380 + .file 54 "include/linux/uio.h"
4381 + .file 55 "include/linux/nfs_fs_i.h"
4382 + .file 56 "include/linux/kernel.h"
4383 + .file 57 "include/linux/pid.h"
4384 + .file 58 "include/linux/lockdep.h"
4385 + .file 59 "include/linux/quota.h"
4386 + .file 60 "include/linux/dqblk_xfs.h"
4387 + .file 61 "include/asm/semaphore.h"
4388 + .file 62 "include/linux/backing-dev.h"
4389 + .file 63 "include/linux/dqblk_v1.h"
4390 + .file 64 "include/linux/dqblk_v2.h"
4391 + .file 65 "include/linux/stat.h"
4392 + .file 66 "include/linux/radix-tree.h"
4393 + .file 67 "include/asm/mmu.h"
4394 + .file 68 "include/linux/completion.h"
4395 + .file 69 "include/asm-generic/cputime.h"
4396 + .file 70 "include/linux/signal.h"
4397 + .file 71 "include/linux/sem.h"
4398 + .file 72 "include/asm/math_emu.h"
4399 + .file 73 "include/asm/vm86.h"
4400 + .file 74 "include/asm/signal.h"
4401 + .file 75 "include/linux/hrtimer.h"
4402 + .file 76 "include/linux/ktime.h"
4403 + .file 77 "include/linux/resource.h"
4404 + .file 78 "include/asm-generic/signal.h"
4405 + .file 79 "include/linux/seccomp.h"
4406 + .file 80 "include/linux/plist.h"
4407 + .file 81 "include/linux/swap.h"
4408 + .file 82 "include/asm-generic/siginfo.h"
4409 + .file 83 "include/linux/task_io_accounting.h"
4410 + .file 84 "include/linux/slab.h"
4411 + .file 85 "include/linux/notifier.h"
4412 + .file 86 "include/linux/interrupt.h"
4413 + .file 87 "include/linux/arrays.h"
4414 + .file 88 "include/asm/percpu.h"
4415 + .file 89 "include/asm/smp.h"
4416 + .file 90 "include/linux/timex.h"
4417 + .file 91 "include/linux/jiffies.h"
4418 + .file 92 "include/linux/pm.h"
4419 + .file 93 "include/linux/device.h"
4420 + .file 94 "include/linux/klist.h"
4421 + .file 95 "include/asm/device.h"
4422 + .file 96 "include/asm/fixmap.h"
4423 + .file 97 "include/asm/acpi.h"
4424 + .file 98 "include/asm/io_apic.h"
4425 + .file 99 "include/asm/genapic.h"
4426 + .file 100 "include/asm/mpspec.h"
4427 + .file 101 "include/asm/mpspec_def.h"
4428 + .file 102 "include/linux/kernel_stat.h"
4429 + .file 103 "include/asm/desc.h"
4430 + .file 104 "include/asm/irq_regs.h"
4431 + .file 105 "include/asm/ptrace.h"
4432 + .file 106 "include/linux/irq.h"
4433 + .file 107 "include/linux/irqreturn.h"
4434 + .file 108 "include/linux/profile.h"
4435 + .file 109 "include/linux/ioport.h"
4436 + .file 110 "include/linux/vmstat.h"
4439 + .section .debug_loc,"",@progbits
5941 + .section .debug_info
5944 + .long .Ldebug_abbrev0
5947 + .long .Ldebug_line0
24656 + .long count.18791
24956 + .long .Ldebug_ranges0+0x0
24965 + .long .Ldebug_ranges0+0x18
25109 + .long .Ldebug_ranges0+0x30
25119 + .long .Ldebug_ranges0+0x48
25129 + .long .Ldebug_ranges0+0x60
25254 + .long boot_done.19029
25261 + .long __func__.19031
25269 + .long tvec_base_done.19028
25314 + .long .Ldebug_ranges0+0x78
25394 + .long .Ldebug_ranges0+0xa8
25623 + .long .Ldebug_ranges0+0xc0
25651 + .long .Ldebug_ranges0+0xd8
25655 + .long .Ldebug_ranges0+0x100
25671 + .long .Ldebug_ranges0+0x128
25680 + .long .Ldebug_ranges0+0x140
25886 + .long .Ldebug_ranges0+0x158
25896 + .long .Ldebug_ranges0+0x170
26083 + .long .Ldebug_ranges0+0x188
26379 + .long .Ldebug_ranges0+0x1a0
26442 + .long .Ldebug_ranges0+0x1b8
27148 + .long __kstrtab_jiffies_64
27158 + .long __ksymtab_jiffies_64
27173 + .long __kstrtab_boot_tvec_bases
27183 + .long __ksymtab_boot_tvec_bases
27191 + .long per_cpu__tvec_bases
27206 + .long __kstrtab___round_jiffies
27216 + .long __ksymtab___round_jiffies
27231 + .long __kstrtab___round_jiffies_relative
27241 + .long __ksymtab___round_jiffies_relative
27256 + .long __kstrtab_round_jiffies
27266 + .long __ksymtab_round_jiffies
27281 + .long __kstrtab_round_jiffies_relative
27291 + .long __ksymtab_round_jiffies_relative
27306 + .long __kstrtab_init_timer
27316 + .long __ksymtab_init_timer
27331 + .long __kstrtab_init_timer_deferrable
27341 + .long __ksymtab_init_timer_deferrable
27356 + .long __kstrtab___mod_timer
27366 + .long __ksymtab___mod_timer
27381 + .long __kstrtab_mod_timer
27391 + .long __ksymtab_mod_timer
27406 + .long __kstrtab_del_timer
27416 + .long __ksymtab_del_timer
27431 + .long __kstrtab_try_to_del_timer_sync
27441 + .long __ksymtab_try_to_del_timer_sync
27456 + .long __kstrtab_del_timer_sync
27466 + .long __ksymtab_del_timer_sync
27481 + .long __kstrtab_avenrun
27491 + .long __ksymtab_avenrun
27506 + .long __kstrtab_schedule_timeout
27516 + .long __ksymtab_schedule_timeout
27531 + .long __kstrtab_schedule_timeout_interruptible
27541 + .long __ksymtab_schedule_timeout_interruptible
27556 + .long __kstrtab_schedule_timeout_uninterruptible
27566 + .long __ksymtab_schedule_timeout_uninterruptible
27601 + .long __kstrtab_msleep
27611 + .long __ksymtab_msleep
27626 + .long __kstrtab_msleep_interruptible
27636 + .long __ksymtab_msleep_interruptible
27881 + .long boot_tvec_bases
28036 + .section .debug_abbrev
29634 + .section .debug_pubnames,"",@progbits
29637 + .long .Ldebug_info0
29640 + .string "__round_jiffies"
29642 + .string "__round_jiffies_relative"
29644 + .string "round_jiffies"
29646 + .string "round_jiffies_relative"
29648 + .string "init_timer"
29650 + .string "init_timer_deferrable"
29652 + .string "init_timers"
29654 + .string "do_sysinfo"
29656 + .string "sys_sysinfo"
29658 + .string "sys_alarm"
29660 + .string "do_timer"
29662 + .string "run_local_timers"
29664 + .string "try_to_del_timer_sync"
29666 + .string "del_timer_sync"
29668 + .string "__mod_timer"
29670 + .string "schedule_timeout"
29672 + .string "schedule_timeout_uninterruptible"
29676 + .string "schedule_timeout_interruptible"
29678 + .string "msleep_interruptible"
29680 + .string "update_process_times"
29682 + .string "sys_getpid"
29684 + .string "sys_getppid"
29686 + .string "sys_getuid"
29688 + .string "sys_geteuid"
29690 + .string "sys_getgid"
29692 + .string "sys_getegid"
29694 + .string "sys_gettid"
29696 + .string "mod_timer"
29698 + .string "del_timer"
29700 + .string "add_timer_on"
29702 + .string "current_stack_pointer"
29704 + .string "jiffies_64"
29706 + .string "boot_tvec_bases"
29708 + .string "avenrun"
29710 + .string "rec_event"
29712 + .section .debug_aranges,"",@progbits
29715 + .long .Ldebug_info0
29721 + .long .Letext0-.Ltext0
29723 + .long .LFE923-.LFB923
29725 + .long .LFE924-.LFB924
29727 + .long .LFE916-.LFB916
29729 + .long .LFE918-.LFB918
29731 + .long .LFE917-.LFB917
29734 + .section .debug_ranges,"",@progbits
29852 + .section .debug_str,"MS",@progbits,1
29854 + .string "long long int"
29856 + .string "qs_pending"
29860 + .string "idt_table"
29862 + .string "notifier_call"
29864 + .string "ki_flags"
29870 + .string "console_printk"
29872 + .string "vm_page_prot"
29874 + .string "shared_vm"
29876 + .string "vm_stat_diff"
29878 + .string "si_errno"
29886 + .string "__mod_timer"
29888 + .string "__kstrtab_boot_tvec_bases"
29890 + .string "long unsigned int"
29892 + .string "pi_lock"
29894 + .string "private"
29896 + .string "lowmem_reserve"
29900 + .string "ia_valid"
29904 + .string "cpu_vm_mask"
29906 + .string "sa_flags"
29908 + .string "jiffies"
29910 + .string "map_count"
29912 + .string "smp_prepare_boot_cpu"
29914 + .string "free_area_cache"
29916 + .string "assoc_mapping"
29920 + .string "release"
29922 + .string "mmap_base"
29924 + .string "sibling"
29928 + .string "file_lock_operations"
29930 + .string "read_inode"
29932 + .string "sys_getppid"
29934 + .string "coherent_dma_mask"
29936 + .string "mpc_config_translation"
29938 + .string "core_startup_done"
29942 + .string "timer_stats_timer_set_start_info"
29948 + .string "__kernel_gid32_t"
29952 + .string "it_prof_expires"
29954 + .string "__kstrtab_round_jiffies_relative"
29956 + .string "s_dirty"
29958 + .string "dirty_inode"
29962 + .string "rt_priority"
29964 + .string "set_xquota"
29966 + .string "SLEEP_INTERRUPTED"
29968 + .string "ngroups"
29972 + .string "irq_desc"
29974 + .string "__round_jiffies"
29976 + .string "malloc_sizes"
29978 + .string "umode_t"
29980 + .string "exit_state"
29984 + .string "end_data"
29986 + .string "addr_limit"
29988 + .string "cpu_usage_stat"
29990 + .string "s_export_op"
29992 + .string "resolution"
29994 + .string "i_cindex"
29996 + .string "irq_flow_handler_t"
29998 + .string "dqonoff_mutex"
30004 + .string "ia_size"
30006 + .string "trans_quad"
30008 + .string "init_timers"
30010 + .string "raw_spinlock_t"
30012 + .string "smp_prepare_cpus"
30018 + .string "d_icount"
30020 + .string "k_sigaction"
30022 + .string "total_vm"
30024 + .string "fs_flags"
30026 + .string "unlockfs"
30028 + .string "task_list"
30034 + .string "fl_owner"
30036 + .string "pages_min"
30038 + .string "round_jiffies"
30040 + .string "timer_stats_timer_clear_start_info"
30042 + .string "vfsmount"
30046 + .string "block_device"
30048 + .string "i_bytes"
30050 + .string "bd_mount_sem"
30052 + .string "device_attribute"
30054 + .string "iov_len"
30060 + .string "exec_domain"
30066 + .string "load_weight"
30068 + .string "__list_add"
30070 + .string "per_cpu_pageset"
30072 + .string "kset_uevent_ops"
30074 + .string "dqi_free_entry"
30076 + .string "thread_struct"
30078 + .string "suspend"
30080 + .string "splice_write"
30082 + .string "i_writecount"
30084 + .string "mapping"
30086 + .string "rb_root"
30088 + .string "qsize_t"
30090 + .string "sendpage"
30092 + .string "group_info"
30094 + .string "unmap_area"
30096 + .string "d_count"
30098 + .string "list_lock"
30100 + .string "v86mask"
30102 + .string "bd_list"
30106 + .string "sa_restorer"
30108 + .string "ahead_start"
30110 + .string "_anon_rss"
30112 + .string "qs_btimelimit"
30116 + .string "fl_notify"
30118 + .string "node_id"
30120 + .string "internal_pages"
30122 + .string "pending_mask"
30124 + .string "mem_unit"
30126 + .string "qs_flags"
30128 + .string "tbase_get_base"
30130 + .string "trans_local"
30132 + .string "qs_incoredqs"
30134 + .string "bitcount"
30136 + .string "sigaction"
30138 + .string "group_stop_count"
30140 + .string "fs_supers"
30142 + .string "mmu_cr4_features"
30144 + .string "__ksymtab_schedule_timeout_interruptible"
30146 + .string "sival_int"
30148 + .string "personality"
30150 + .string "avenrun"
30152 + .string "fown_struct"
30154 + .string "__ksymtab___round_jiffies"
30158 + .string "mpc_featureflag"
30162 + .string "pi_state_list"
30166 + .string "phys_pkg_id"
30168 + .string "fl_wait"
30170 + .string "releasepage"
30172 + .string "last_type"
30174 + .string "ring_info"
30178 + .string "init_timers_cpu"
30180 + .string "prev_priority"
30182 + .string "wait_lock"
30184 + .string "core_waiters"
30186 + .string "ahead_size"
30188 + .string "cs_cachep"
30190 + .string "sleepers"
30192 + .string "altrootmnt"
30194 + .string "umount_begin"
30196 + .string "handler_data"
30198 + .string "rb_node"
30200 + .string "module_kobject"
30202 + .string "nlm_lockowner"
30204 + .string "uevent_attr"
30206 + .string "backing_dev_info"
30208 + .string "uevent_suppress"
30212 + .string "knode_parent"
30214 + .string "dev_archdata"
30216 + .string "completion"
30218 + .string "pid_type"
30220 + .string "__ksymtab_round_jiffies_relative"
30222 + .string "MODULE_STATE_GOING"
30224 + .string "vm_truncate_count"
30232 + .string "unused_gpl_syms"
30236 + .string "timer_list"
30238 + .string "dq_hash"
30240 + .string "quota_on"
30242 + .string "unused_crcs"
30244 + .string "bd_holder_list"
30246 + .string "aio_write"
30250 + .string "capabilities"
30254 + .string "klist_devices"
30256 + .string "dqb_curinodes"
30258 + .string "qf_next"
30260 + .string "i_mapping"
30262 + .string "io_bitmap_ptr"
30264 + .string "acquire_dquot"
30268 + .string "i_size_seqcount"
30270 + .string "pending"
30274 + .string "bug_entry"
30276 + .string "init_text_size"
30278 + .string "check_flags"
30280 + .string "st_size"
30282 + .string "pm_message_t"
30284 + .string "__kernel_loff_t"
30292 + .string "barrier"
30294 + .string "i387_soft_struct"
30296 + .string "nfs4_fl"
30298 + .string "acpi_handle"
30300 + .string "physid_mask"
30302 + .string "class_data"
30304 + .string "time_slice"
30306 + .string "cpu_present_to_apicid"
30308 + .string "ia_ctime"
30310 + .string "node_present_pages"
30312 + .string "int_dest_mode"
30314 + .string "timer_jiffies"
30316 + .string "MODULE_STATE_COMING"
30320 + .string "task_size"
30324 + .string "vm86_info"
30326 + .string "donetail"
30328 + .string "qs_uquota"
30332 + .string "blocking_notifier_head"
30336 + .string "page_tree"
30338 + .string "fl_type"
30340 + .string "export_operations"
30344 + .string "__dummy2"
30346 + .string "del_timer_sync"
30348 + .string "pattern"
30350 + .string "reclaimed_slab"
30354 + .string "fl_break_time"
30358 + .string "num_bugs"
30360 + .string "mask_ack"
30362 + .string "prio_array"
30364 + .string "xtime_lock"
30366 + .string "apic_id_mask"
30368 + .string "hiwater_vm"
30374 + .string "lock_timer_base"
30376 + .string "__session"
30384 + .string "seqcount"
30386 + .string "it_prof_incr"
30388 + .string "sysinfo"
30392 + .string "semaphore"
30396 + .string "mmap_sem"
30398 + .string "qfs_nblks"
30404 + .string "seqlock_t"
30406 + .string "srcversion"
30408 + .string "acpi_ht"
30410 + .string "cpu_to_logical_apicid"
30416 + .string "mpc_config_processor"
30418 + .string "raw_prio_tree_node"
30420 + .string "ioapic_phys_id_map"
30422 + .string "mmap_hit"
30424 + .string "param_attrs"
30426 + .string "disable"
30428 + .string "active_list"
30430 + .string "native_irq_enable"
30432 + .string "prev_index"
30434 + .string "retrigger"
30436 + .string "dquot_operations"
30438 + .string "real_timer"
30440 + .string "last_siginfo"
30442 + .string "private_data"
30446 + .string "stat_threshold"
30448 + .string "i_alloc_sem"
30450 + .string "GNU C 4.1.1 (Gentoo 4.1.1-r3)"
30452 + .string "readdir"
30454 + .string "congested_fn"
30456 + .string "nr_zones"
30458 + .string "class_attribute"
30460 + .string "ki_cur_seg"
30462 + .string "ioctx_list_lock"
30466 + .string "fl_grant"
30468 + .string "dma_mem"
30470 + .string "s_time_gran"
30472 + .string "bd_block_size"
30474 + .string "security"
30476 + .string "__kstrtab_try_to_del_timer_sync"
30482 + .string "id_next"
30484 + .string "xmm_space"
30486 + .string "i387_union"
30488 + .string "s_fs_info"
30490 + .string "constant_test_bit"
30494 + .string "num_gpl_future_syms"
30496 + .string "cpu_base"
30498 + .string "d_blk_hardlimit"
30500 + .string "PIDTYPE_SID"
30502 + .string "nr_scan_active"
30504 + .string "get_time"
30506 + .string "f_flags"
30508 + .string "changed"
30512 + .string "class_attrs"
30514 + .string "hd_struct"
30516 + .string "sys_getegid"
30518 + .string "readpages"
30522 + .string "get_dentry"
30526 + .string "i_mtime"
30528 + .string "timespec"
30534 + .string "priority"
30536 + .string "dqb_curspace"
30538 + .string "check_quota_file"
30542 + .string "version"
30548 + .string "blksize"
30550 + .string "_mapcount"
30552 + .string "aio_ring_info"
30558 + .string "mpc_bustype"
30560 + .string "bd_inode"
30562 + .string "mm_count"
30564 + .string "ki_eventfd"
30568 + .string "tree_lock"
30570 + .string "index_bits"
30572 + .string "driver_attribute"
30574 + .string "alloc_lock"
30578 + .string "bio_list"
30580 + .string "fl_copy_lock"
30582 + .string "dqi_bgrace"
30584 + .string "s_frozen"
30586 + .string "fs_quota_stat"
30588 + .string "work_list"
30590 + .string "fl_owner_t"
30592 + .string "__kstrtab_avenrun"
30594 + .string "boot_tvec_bases"
30596 + .string "ring_pages"
30598 + .string "count_active_tasks"
30600 + .string "d_rtbwarns"
30602 + .string "i_sb_list"
30604 + .string "mm_context_t"
30608 + .string "cap_permitted"
30614 + .string "vm86_struct"
30616 + .string "lock_key"
30618 + .string "commit_write"
30620 + .string "boot_done"
30626 + .string "quota_format_type"
30630 + .string "lru_lock"
30632 + .string "truncate"
30634 + .string "vfork_done"
30636 + .string "seqcount_t"
30640 + .string "drivers"
30642 + .string "read_file_info"
30646 + .string "fl_remove"
30650 + .string "i_version"
30652 + .string "start_code"
30654 + .string "nxttail"
30656 + .string "i_dnotify_mask"
30658 + .string "local_t"
30660 + .string "proc_next"
30662 + .string "start_time"
30664 + .string "notifier_block"
30666 + .string "vm_file"
30668 + .string "super_operations"
30670 + .string "sysvsem"
30672 + .string "set_child_tid"
30680 + .string "put_inode"
30682 + .string "tvec_root_t"
30684 + .string "qs_itimelimit"
30686 + .string "ioctx_list"
30688 + .string "it_virt_incr"
30690 + .string "inactive_list"
30694 + .string "event_type"
30696 + .string "set_wake"
30698 + .string "d_bwarns"
30702 + .string "read_dqblk"
30704 + .string "qf_owner"
30706 + .string "d_compare"
30708 + .string "revectored_struct"
30710 + .string "dqi_valid"
30712 + .string "mpc_apicver"
30714 + .string "sys_getuid"
30716 + .string "__ret_warn_on"
30718 + .string "st_value"
30722 + .string "mpc_cpufeature"
30726 + .string "per_cpu__vm_event_states"
30730 + .string "bd_inodes"
30732 + .string "zone_start_pfn"
30734 + .string "sa_handler"
30736 + .string "notifier_mask"
30738 + .string "super_block"
30740 + .string "smp_send_reschedule"
30742 + .string "dir_notify"
30744 + .string "bd_disk"
30746 + .string "sharedram"
30750 + .string "__per_cpu_offset"
30752 + .string "commit_dqblk"
30754 + .string "cpu_type"
30756 + .string "s_vfs_rename_mutex"
30758 + .string "dqi_format"
30760 + .string "totalswap"
30762 + .string "reclaim_in_progress"
30764 + .string "enable_apic_mode"
30766 + .string "uidhash_list"
30768 + .string "bd_contains"
30770 + .string "bd_mutex"
30772 + .string "free_area"
30774 + .string "__ksymtab_boot_tvec_bases"
30776 + .string "__kstrtab_round_jiffies"
30778 + .string "mem_dqinfo"
30780 + .string "apicid_to_node"
30782 + .string "processes"
30786 + .string "unused_syms"
30788 + .string "user_id"
30790 + .string "cmaj_flt"
30794 + .string "s_syncing"
30796 + .string "fl_release_private"
30798 + .string "run_list"
30802 + .string "protection_map"
30804 + .string "truncate_count"
30808 + .string "send_IPI_mask"
30810 + .string "__kstrtab_msleep"
30812 + .string "mpc_oemptr"
30816 + .string "small_block"
30820 + .string "mpc_busid"
30822 + .string "active_reqs"
30824 + .string "first_page"
30828 + .string "drivers_autoprobe_attr"
30830 + .string "acpi_noirq"
30836 + .string "set_type"
30838 + .string "written"
30840 + .string "mq_bytes"
30842 + .string "fs_qfilestat_t"
30844 + .string "screen_bitmap"
30848 + .string "timer_set_base"
30850 + .string "core_size"
30852 + .string "encode_fh"
30854 + .string "process_timeout"
30858 + .string "fl_file"
30862 + .string "timestamp"
30864 + .string "dcache_lock"
30866 + .string "power_state"
30868 + .string "MODULE_STATE_LIVE"
30870 + .string "hrtimer_restart"
30872 + .string "drv_attrs"
30874 + .string "kernel_symbol"
30876 + .string "mod_name"
30878 + .string "dqb_bhardlimit"
30880 + .string "write_dquot"
30882 + .string "wait_queue_t"
30884 + .string "Elf32_Sym"
30886 + .string "address_space_operations"
30890 + .string "permission"
30892 + .string "oomkilladj"
30894 + .string "totalram"
30896 + .string "ptrace_list"
30900 + .string "run_timer_softirq"
30902 + .string "drivers_autoprobe"
30904 + .string "softirq"
30906 + .string "plist_head"
30908 + .string "__kstrtab___mod_timer"
30910 + .string "sigset_t"
30912 + .string "set_page_dirty"
30914 + .string "real_blocked"
30916 + .string "__kernel_ssize_t"
30918 + .string "si_code"
30920 + .string "pdeath_signal"
30922 + .string "private_list"
30924 + .string "readlink"
30926 + .string "prof_on"
30928 + .string "int_revectored"
30930 + .string "d_iname"
30932 + .string "oublock"
30934 + .string "platform_enable_wakeup"
30936 + .string "function"
30938 + .string "__run_timers"
30940 + .string "inode_operations"
30942 + .string "dqi_free_blk"
30944 + .string "PIDTYPE_PGID"
30946 + .string "sendfile"
30948 + .string "previous_esp"
30950 + .string "__restorefn_t"
30954 + .string "mpc_reserved"
30956 + .string "siginfo"
30958 + .string "destroy_inode"
30960 + .string "zlcache_ptr"
30962 + .string "mmap_miss"
30964 + .string "d_parent"
30966 + .string "self_exec_id"
30968 + .string "rb_parent_color"
30970 + .string "__kernel_timer_t"
30972 + .string "timers_nb"
30974 + .string "class_dev_attrs"
30982 + .string "env_end"
30984 + .string "devt_attr"
30988 + .string "sysv_sem"
30990 + .string "wait_queue_head_t"
30992 + .string "v2_mem_dqinfo"
30994 + .string "mark_dirty"
30996 + .string "user_struct"
30998 + .string "__ksymtab_init_timer_deferrable"
31000 + .string "io_bitmap_max"
31006 + .string "module_attribute"
31008 + .string "ki_user_data"
31010 + .string "rlim_max"
31014 + .string "num_unused_gpl_syms"
31016 + .string "futex_pi_state"
31018 + .string "mtd_info"
31020 + .string "nr_threads"
31022 + .string "_________p1"
31024 + .string "chip_data"
31026 + .string "nrpages"
31028 + .string "alloc_space"
31032 + .string "saved_fs"
31034 + .string "mem_total"
31036 + .string "smp_send_stop"
31040 + .string "nr_free"
31042 + .string "ring_lock"
31044 + .string "lockless_freelist"
31046 + .string "sched_time"
31050 + .string "padding"
31052 + .string "mod_arch_specific"
31058 + .string "update_process_times"
31064 + .string "freelist"
31066 + .string "i_atime"
31070 + .string "free_list"
31072 + .string "saved_gs"
31074 + .string "dirtied_when"
31076 + .string "class_device"
31082 + .string "Elf32_Word"
31084 + .string "put_super"
31090 + .string "dqb_valid"
31092 + .string "spanned_pages"
31094 + .string "softirq_time"
31096 + .string "add_timer_on"
31098 + .string "__kstrtab_jiffies_64"
31102 + .string "_sigval"
31104 + .string "d_flags"
31106 + .string "tvec_t_base_s"
31108 + .string "group_leader"
31110 + .string "pi_waiters"
31114 + .string "setup_apic_routing"
31116 + .string "__kstrtab_del_timer_sync"
31120 + .string "find_exported_dentry"
31122 + .string "unplug_io_data"
31124 + .string "node_zones"
31126 + .string "free_space"
31130 + .string "rec_event"
31132 + .string "raw_local_irq_enable"
31134 + .string "launder_page"
31138 + .string "calc_load"
31140 + .string "setup_timer"
31142 + .string "__kstrtab_init_timer"
31148 + .string "affinity"
31150 + .string "wait_table_bits"
31152 + .string "cpu_callout_map"
31156 + .string "nr_scan_inactive"
31160 + .string "pm_parent"
31162 + .string "softirq_action"
31166 + .string "donelist"
31168 + .string "gpl_future_crcs"
31170 + .string "hrtimer_cpu_base"
31172 + .string "journal_info"
31174 + .string "min_flt"
31176 + .string "gpl_crcs"
31180 + .string "set_dqblk"
31184 + .string "mpc_config_bus"
31186 + .string "jiffies_64"
31188 + .string "running_timer"
31190 + .string "physid_mask_t"
31194 + .string "mpc_type"
31196 + .string "st_space"
31198 + .string "saved_auxv"
31200 + .string "free_file_info"
31202 + .string "fl_lmops"
31204 + .string "release_dquot"
31206 + .string "last_ran_j"
31208 + .string "clear_child_tid"
31210 + .string "s_dquot"
31214 + .string "per_cpu__irq_regs"
31218 + .string "dq_count"
31222 + .string "restart_block"
31224 + .string "smp_cpus_done"
31228 + .string "dqi_igrace"
31234 + .string "pages_high"
31236 + .string "s_blocksize"
31238 + .string "timer_pending"
31244 + .string "vm_operations_struct"
31246 + .string "clock_base"
31248 + .string "decode_fh"
31250 + .string "class_id"
31252 + .string "Elf32_Addr"
31254 + .string "start_data"
31256 + .string "num_unused_syms"
31258 + .string "s_need_sync_fs"
31260 + .string "did_exec"
31262 + .string "notify_count"
31266 + .string "rwlock_t"
31268 + .string "blocked"
31270 + .string "kernel/timer.c"
31274 + .string "detach_timer"
31276 + .string "__ksymtab___round_jiffies_relative"
31278 + .string "no_balance_irq"
31280 + .string "do_timer"
31284 + .string "user_tick"
31286 + .string "sys_alarm"
31292 + .string "nsproxy"
31296 + .string "bd_inode_backing_dev_info"
31298 + .string "timer_t"
31300 + .string "i_devices"
31302 + .string "parent_exec_id"
31304 + .string "SLEEP_INTERACTIVE"
31308 + .string "pipe_inode_info"
31310 + .string "dqio_mutex"
31312 + .string "bus_attribute"
31316 + .string "rep_nop"
31318 + .string "bd_invalidated"
31322 + .string "trans_reserved"
31326 + .string "ki_cancel"
31330 + .string "d_iwarns"
31334 + .string "dma_coherent_mem"
31336 + .string "init_timer_deferrable"
31338 + .string "ESR_DISABLE"
31340 + .string "suspend_late"
31344 + .string "rw_semaphore"
31346 + .string "session"
31348 + .string "file_operations"
31350 + .string "s_lock_key"
31352 + .string "read_descriptor_t"
31354 + .string "pid_chain"
31356 + .string "per_cpu__rcu_bh_data"
31358 + .string "files_struct"
31362 + .string "file_lock"
31364 + .string "__ksymtab_init_timer"
31366 + .string "lock_class_key"
31368 + .string "sa_mask"
31370 + .string "fs_disk_quota"
31374 + .string "faultstamp"
31378 + .string "ki_inline_vec"
31384 + .string "invalidatepage"
31386 + .string "show_options"
31388 + .string "reserved"
31390 + .string "static_prio"
31392 + .string "d_child"
31394 + .string "freehigh"
31398 + .string "short unsigned int"
31400 + .string "refcount"
31402 + .string "def_flags"
31404 + .string "per_cpu_pages"
31406 + .string "module_init"
31410 + .string "kmalloc"
31412 + .string "s_umount"
31414 + .string "group_exit_task"
31416 + .string "bd_private"
31420 + .string "private_lock"
31422 + .string "gendisk"
31424 + .string "i_blkbits"
31426 + .string "cpustat"
31428 + .string "dq_wait_unused"
31430 + .string "get_current"
31432 + .string "fu_list"
31434 + .string "trans_len"
31436 + .string "saved_sigmask"
31438 + .string "getxattr"
31440 + .string "inotify_watches"
31442 + .string "it_real_incr"
31444 + .string "f_ep_links"
31446 + .string "coublock"
31448 + .string "handle_irq"
31454 + .string "mpc_productid"
31456 + .string "remount_fs"
31458 + .string "cputime64_t"
31460 + .string "seccomp_t"
31462 + .string "qfs_nextents"
31464 + .string "__ksymtab_del_timer"
31466 + .string "HRTIMER_RESTART"
31470 + .string "s_inodes"
31472 + .string "pages_scanned"
31474 + .string "address"
31476 + .string "seq_file"
31480 + .string "sysenter_return"
31484 + .string "sem_undo_list"
31486 + .string "d_padding2"
31488 + .string "d_padding3"
31490 + .string "d_padding4"
31492 + .string "test_tsk_thread_flag"
31494 + .string "apicid_to_cpu_present"
31496 + .string "exec_vm"
31498 + .string "init_timer_stats"
31500 + .string "d_mounted"
31502 + .string "last_interval"
31504 + .string "direct_IO"
31506 + .string "core_text_size"
31510 + .string "irq_handler_t"
31512 + .string "dqb_ihardlimit"
31516 + .string "vm_area_struct"
31520 + .string "pglist_data"
31522 + .string "raw_rwlock_t"
31524 + .string "sighand_struct"
31526 + .string "gfp_mask"
31528 + .string "module_sect_attrs"
31530 + .string "pgprot_t"
31532 + .string "bio_tail"
31536 + .string "long long unsigned int"
31538 + .string "s_xattr"
31540 + .string "ki_bio_count"
31542 + .string "get_dqblk"
31544 + .string "__ksymtab_msleep_interruptible"
31546 + .string "fl_break"
31548 + .string "set_info"
31550 + .string "event_spec"
31552 + .string "wait_table_hash_nr_entries"
31554 + .string "fs_struct"
31556 + .string "unsigned char"
31560 + .string "congested_data"
31562 + .string "prev_state"
31564 + .string "st_other"
31566 + .string "mpc_apicid"
31570 + .string "time_status"
31572 + .string "get_xstate"
31574 + .string "sigval_t"
31578 + .string "tbase_get_deferrable"
31580 + .string "fu_rcuhead"
31582 + .string "nr_pages"
31584 + .string "sys_getpid"
31586 + .string "read_actor_t"
31588 + .string "kernel_cap_t"
31590 + .string "fa_next"
31592 + .string "io_event"
31600 + .string "d_cookie"
31606 + .string "class_dirs"
31608 + .string "can_wakeup"
31610 + .string "SLEEP_NORMAL"
31612 + .string "page_mkwrite"
31616 + .string "__kernel_clockid_t"
31622 + .string "d_rtb_hardlimit"
31628 + .string "hrtimer"
31634 + .string "cache_hit"
31636 + .string "variable_test_bit"
31638 + .string "vm_stat"
31642 + .string "it_virt_expires"
31644 + .string "xattr_handler"
31646 + .string "cap_inheritable"
31648 + .string "rlim_cur"
31650 + .string "trans_type"
31652 + .string "st_info"
31654 + .string "platform_data"
31656 + .string "write_inode"
31660 + .string "__sighandler_t"
31662 + .string "__kernel_pid_t"
31664 + .string "open_intent"
31670 + .string "sysenter_cs"
31672 + .string "irqreturn_t"
31674 + .string "i_mmap_nonlinear"
31676 + .string "__kstrtab_schedule_timeout"
31678 + .string "read_seqretry"
31680 + .string "ki_dtor"
31682 + .string "sas_ss_sp"
31686 + .string "s_umount_key"
31688 + .string "active_mm"
31690 + .string "mpc_length"
31692 + .string "qfs_ino"
31694 + .string "d_blk_softlimit"
31698 + .string "resource_size_t"
31700 + .string "sighand"
31702 + .string "cmin_flt"
31708 + .string "d_dname"
31710 + .string "module_ref"
31712 + .string "dq_lock"
31714 + .string "genapic"
31716 + .string "list_op_pending"
31720 + .string "quota_format_ops"
31724 + .string "___eflags"
31726 + .string "mem_dqblk"
31728 + .string "futex_offset"
31730 + .string "fl_mylease"
31732 + .string "pi_state_cache"
31744 + .string "nfs4_lock_state"
31746 + .string "atomic_t"
31750 + .string "vm_start"
31752 + .string "anon_vma"
31754 + .string "inotify_mutex"
31756 + .string "update_times"
31758 + .string "i_mmap_lock"
31760 + .string "__raw_spin_unlock"
31764 + .string "present_pages"
31766 + .string "current_stack_pointer"
31770 + .string "group_exit_code"
31774 + .string "robust_list_head"
31776 + .string "bus_attrs"
31778 + .string "zone_padding"
31780 + .string "put_link"
31782 + .string "_file_rss"
31784 + .string "migratepage"
31788 + .string "unwind_info"
31790 + .string "msi_desc"
31792 + .string "fl_start"
31796 + .string "sync_page"
31798 + .string "mpc_cpuflag"
31800 + .string "last_ran"
31802 + .string "run_local_timers"
31804 + .string "undo_list"
31808 + .string "devres_head"
31814 + .string "module_state"
31816 + .string "s_magic"
31818 + .string "test_ti_thread_flag"
31820 + .string "ctx_lock"
31824 + .string "sys_getgid"
31826 + .string "holders_dir"
31828 + .string "class_release"
31830 + .string "linux_binfmt"
31832 + .string "__dummy"
31834 + .string "mps_oem_check"
31836 + .string "__kstrtab_schedule_timeout_interruptible"
31838 + .string "cascade"
31840 + .string "i_flock"
31842 + .string "attribute"
31844 + .string "vm_pgoff"
31848 + .string "get_unmapped_area"
31850 + .string "get_apic_id"
31852 + .string "nsections"
31854 + .string "poll_table_struct"
31856 + .string "tv_list"
31858 + .string "pid_link"
31860 + .string "page_table_lock"
31864 + .string "modinfo_attrs"
31866 + .string "quota_info"
31868 + .string "counter"
31870 + .string "get_xquota"
31872 + .string "vm_private_data"
31874 + .string "s_blocksize_bits"
31876 + .string "notifier"
31878 + .string "list_head"
31880 + .string "irqs_unhandled"
31884 + .string "i_generation"
31886 + .string "acpi_madt_oem_check"
31888 + .string "target_cpus"
31890 + .string "f_owner"
31892 + .string "ia_file"
31894 + .string "fpu_counter"
31896 + .string "fl_fasync"
31898 + .string "n_removed"
31902 + .string "d_ino_hardlimit"
31904 + .string "device_type"
31906 + .string "__ksymtab___mod_timer"
31908 + .string "lookahead"
31910 + .string "tvec_base_done"
31914 + .string "f_version"
31916 + .string "mxcsr_mask"
31918 + .string "transfer"
31924 + .string "default_attrs"
31926 + .string "num_exentries"
31930 + .string "ki_list"
31932 + .string "thread_info"
31934 + .string "fl_insert"
31936 + .string "__ksymtab_mod_timer"
31938 + .string "reqs_active"
31940 + .string "kswapd_wait"
31942 + .string "arg_end"
31944 + .string "unlocked_ioctl"
31946 + .string "resume_early"
31948 + .string "tty_old_pgrp"
31950 + .string "base_lock_keys"
31952 + .string "file_ra_state"
31954 + .string "inotify_devs"
31956 + .string "i_nlink"
31958 + .string "ptrace_message"
31960 + .string "num_syms"
31964 + .string "timer_stats_account_timer"
31966 + .string "normal_prio"
31968 + .string "fl_link"
31970 + .string "ki_nr_segs"
31972 + .string "signal_pending"
31974 + .string "multi_timer_check"
31980 + .string "event_data"
31982 + .string "prio_list"
31984 + .string "devices"
31986 + .string "qs_bwarnlimit"
31988 + .string "passed_quiesc"
31990 + .string "quota_off"
31992 + .string "irqaction"
31996 + .string "cnivcsw"
31998 + .string "ktime_t"
32002 + .string "cpu_timers"
32004 + .string "nr_ptes"
32008 + .string "blkcnt_t"
32010 + .string "device_driver"
32012 + .string "mem_map"
32016 + .string "___orig_eax"
32018 + .string "__kernel_time_t"
32020 + .string "sector_t"
32022 + .string "setup_portio_remap"
32024 + .string "dma_pools"
32026 + .string "dnotify_struct"
32028 + .string "pm_message"
32030 + .string "dq_inuse"
32032 + .string "per_cpu__cpu_number"
32034 + .string "start_brk"
32036 + .string "inblock"
32038 + .string "klist_children"
32040 + .string "int_delivery_mode"
32042 + .string "dq_dirty"
32044 + .string "bootmem_data"
32046 + .string "dqi_flags"
32048 + .string "delete_inode"
32050 + .string "qs_iwarnlimit"
32052 + .string "curlist"
32054 + .string "dqi_blocks"
32056 + .string "compat_ioctl"
32058 + .string "swap_token_mm"
32062 + .string "mpc_spec"
32064 + .string "mpc_oemcount"
32066 + .string "del_timer"
32068 + .string "f_mapping"
32072 + .string "shutdown"
32076 + .string "nblocks"
32078 + .string "dcookie"
32080 + .string "i_count"
32082 + .string "lock_depth"
32088 + .string "do_sysinfo"
32090 + .string "write_super"
32092 + .string "cad_pid"
32094 + .string "symlink"
32096 + .string "SLEEP_NONINTERACTIVE"
32098 + .string "d_alias"
32100 + .string "send_IPI_all"
32102 + .string "PIDTYPE_PID"
32106 + .string "i_ctime"
32108 + .string "fl_flags"
32110 + .string "dev_release"
32112 + .string "hiwater_rss"
32114 + .string "get_xip_page"
32116 + .string "lock_manager_operations"
32120 + .string "__count"
32126 + .string "nameidata"
32130 + .string "__kernel_size_t"
32132 + .string "splice_pipe"
32134 + .string "ptrace_children"
32138 + .string "ia_mode"
32140 + .string "short int"
32142 + .string "__kernel_dev_t"
32144 + .string "get_name"
32146 + .string "current_thread_info"
32148 + .string "check_apicid_present"
32150 + .string "mpc_apic_id"
32152 + .string "kmem_cache"
32154 + .string "si_signo"
32156 + .string "prelock_base"
32158 + .string "s_subtype"
32160 + .string "error_code"
32164 + .string "ia_mtime"
32166 + .string "interfaces"
32170 + .string "fl_block"
32174 + .string "dev_uevent"
32176 + .string "atomic_long_t"
32178 + .string "archdata"
32180 + .string "sysfs_ops"
32184 + .string "sem_undo"
32186 + .string "curr_target"
32190 + .string "tvec_root_s"
32192 + .string "_overrun"
32194 + .string "io_context"
32196 + .string "mmap_size"
32198 + .string "vm86_regs"
32200 + .string "preempt_count"
32202 + .string "bug_list"
32204 + .string "sas_ss_size"
32206 + .string "d_rtbtimer"
32208 + .string "thread_group"
32210 + .string "orig_eax"
32212 + .string "apic_id_registered"
32214 + .string "__ksymtab_avenrun"
32216 + .string "write_info"
32218 + .string "s_files"
32220 + .string "core_done"
32222 + .string "s_maxbytes"
32230 + .string "node_mem_map"
32232 + .string "qf_fmt_id"
32236 + .string "sys_gettid"
32238 + .string "mm_struct"
32240 + .string "total_link_count"
32244 + .string "v86flags"
32246 + .string "sleep_type"
32248 + .string "___orig_eip"
32250 + .string "__ksymtab_schedule_timeout_uninterruptible"
32252 + .string "exception_table_entry"
32256 + .string "Elf32_Half"
32258 + .string "num_symtab"
32260 + .string "long int"
32262 + .string "unused_gpl_crcs"
32264 + .string "token_priority"
32266 + .string "sigpending"
32268 + .string "INIT_LIST_HEAD"
32270 + .string "check_apicid_used"
32272 + .string "num_gpl_syms"
32276 + .string "arg_start"
32278 + .string "startup"
32280 + .string "bd_part_count"
32282 + .string "tty_struct"
32284 + .string "fl_change"
32288 + .string "uevent_ops"
32290 + .string "dev_attrs"
32292 + .string "cache_sizes"
32294 + .string "d_btimer"
32296 + .string "address_space"
32298 + .string "sect_attrs"
32300 + .string "writepages"
32302 + .string "v1_mem_dqinfo"
32304 + .string "___vm86_ds"
32306 + .string "mpc_checksum"
32308 + .string "ki_iovec"
32310 + .string "setattr"
32312 + .string "f_ep_lock"
32314 + .string "__list_del"
32320 + .string "__kstrtab_schedule_timeout_uninterruptible"
32322 + .string "___vm86_es"
32324 + .string "totalhigh"
32326 + .string "cap_effective"
32330 + .string "ki_wait"
32332 + .string "trans_global"
32336 + .string "pt_regs"
32340 + .string "reclaim_state"
32342 + .string "write_file_info"
32344 + .string "klist_drivers"
32348 + .string "drivers_probe_attr"
32350 + .string "s_instances"
32352 + .string "node_start_pfn"
32354 + .string "siginfo_t"
32356 + .string "__kstrtab_del_timer"
32360 + .string "bd_openers"
32362 + .string "___vm86_fs"
32364 + .string "locked_vm"
32366 + .string "writeback_control"
32368 + .string "i_blocks"
32370 + .string "list_empty"
32378 + .string "clear_inode"
32380 + .string "kmalloc_node"
32382 + .string "readpage"
32388 + .string "___vm86_gs"
32392 + .string "tls_array"
32394 + .string "initialize"
32396 + .string "radix_tree_root"
32398 + .string "seccomp"
32402 + .string "__kernel_clock_t"
32404 + .string "mod_timer"
32406 + .string "seconds"
32408 + .string "i_dnotify"
32410 + .string "_sigfault"
32412 + .string "getattr"
32414 + .string "tvec_base_t"
32416 + .string "last_interrupted"
32418 + .string "mpc_oem"
32420 + .string "write_super_lockfs"
32422 + .string "smp_call_function_mask"
32426 + .string "end_code"
32428 + .string "d_revalidate"
32430 + .string "per_cpu__current_task"
32432 + .string "removexattr"
32434 + .string "s_active"
32436 + .string "iov_base"
32438 + .string "context"
32440 + .string "__ksymtab_try_to_del_timer_sync"
32442 + .string "node_zonelists"
32444 + .string "locked_shm"
32448 + .string "free_inode"
32450 + .string "handler"
32452 + .string "proc_dir_entry"
32456 + .string "nfs_lock_info"
32460 + .string "tv_nsec"
32462 + .string "_sys_private"
32464 + .string "d_fsdata"
32466 + .string "knode_driver"
32468 + .string "d_version"
32470 + .string "module_core"
32472 + .string "check_phys_apicid_present"
32474 + .string "cached_hole_size"
32476 + .string "st_name"
32478 + .string "expires"
32480 + .string "setxattr"
32482 + .string "__kstrtab_init_timer_deferrable"
32484 + .string "robust_list"
32488 + .string "children"
32490 + .string "alloc_inode"
32492 + .string "pi_blocked_on"
32494 + .string "writeback_index"
32498 + .string "anon_vma_node"
32500 + .string "list_add_tail"
32502 + .string "_sifields"
32504 + .string "zone_pgdat"
32506 + .string "st_shndx"
32514 + .string "radix_tree_node"
32516 + .string "io_wait"
32518 + .string "should_wakeup"
32522 + .string "mpc_oem_bus_info"
32524 + .string "qs_gquota"
32526 + .string "rcu_head"
32530 + .string "mpc_signature"
32532 + .string "hrtimer_clock_base"
32536 + .string "work_func_t"
32538 + .string "listxattr"
32540 + .string "klist_node"
32542 + .string "no_update"
32544 + .string "__signalfn_t"
32546 + .string "d_release"
32548 + .string "splice_read"
32550 + .string "prev_offset"
32552 + .string "ki_run_list"
32554 + .string "quiescbatch"
32556 + .string "notifier_data"
32558 + .string "per_cpu__tvec_bases"
32566 + .string "new_base"
32568 + .string "bufferram"
32570 + .string "clockid_t"
32572 + .string "cputime_t"
32574 + .string "swapper_space"
32576 + .string "s_count"
32580 + .string "i_state"
32582 + .string "mpc_oemsize"
32584 + .string "wait_table"
32586 + .string "module_param_attrs"
32588 + .string "mpc_lapic"
32590 + .string "rb_right"
32592 + .string "ki_retry"
32596 + .string "signed char"
32598 + .string "freeram"
32602 + .string "ra_pages"
32604 + .string "gpl_future_syms"
32606 + .string "acpi_pci_disabled"
32608 + .string "__ksymtab_msleep"
32612 + .string "gpl_syms"
32614 + .string "__constant_c_and_count_memset"
32616 + .string "typename"
32620 + .string "__func__"
32624 + .string "list_replace_init"
32626 + .string "dqb_btime"
32628 + .string "set_running_timer"
32630 + .string "zonelist_cache"
32634 + .string "__ksymtab_del_timer_sync"
32636 + .string "__ksymtab_schedule_timeout"
32638 + .string "kill_sb"
32642 + .string "original"
32646 + .string "_status"
32652 + .string "quotactl_ops"
32654 + .string "sequence"
32656 + .string "dqb_bsoftlimit"
32658 + .string "schedule_timeout_uninterruptible"
32660 + .string "d_subdirs"
32662 + .string "i_private"
32666 + .string "posix_timers"
32670 + .string "hlist_node"
32672 + .string "s_wait_unfrozen"
32674 + .string "_sigchld"
32684 + .string "set_affinity"
32686 + .string "round_jiffies_relative"
32688 + .string "mm_users"
32692 + .string "module_sect_attr"
32694 + .string "bd_holders"
32696 + .string "timer_cpu_notify"
32698 + .string "clear_pending"
32702 + .string "__kstrtab_msleep_interruptible"
32704 + .string "wake_depth"
32706 + .string "__kstrtab_mod_timer"
32708 + .string "init_timer"
32710 + .string "signalfd_list"
32714 + .string "int21_revectored"
32718 + .string "kstatfs"
32720 + .string "ia_atime"
32722 + .string "skip_ioapic_setup"
32728 + .string "max_reqs"
32730 + .string "dqb_isoftlimit"
32732 + .string "/usr/src/linux-2.6.22.19-chopstix"
32736 + .string "dq_flags"
32738 + .string "reserved_vm"
32746 + .string "clock_t"
32748 + .string "dev_pm_info"
32750 + .string "internal_add_timer"
32754 + .string "mm_counter_t"
32756 + .string "__kernel_uid32_t"
32758 + .string "qs_rtbtimelimit"
32760 + .string "audit_context"
32762 + .string "filldir_t"
32764 + .string "real_parent"
32766 + .string "__kstrtab___round_jiffies"
32770 + .string "fa_file"
32772 + .string "truncate_range"
32774 + .string "create_mode"
32776 + .string "dqi_dirty_list"
32780 + .string "is_registered"
32782 + .string "__wait_queue_head"
32786 + .string "per_cpu__rcu_data"
32788 + .string "i_mmap_writable"
32790 + .string "try_to_del_timer_sync"
32792 + .string "all_unreclaimable"
32796 + .string "sync_fs"
32800 + .string "d_rtb_softlimit"
32802 + .string "no_ioapic_check"
32804 + .string "ki_opcode"
32808 + .string "fl_compare_owner"
32814 + .string "modules_which_use_me"
32816 + .string "vm_event_state"
32820 + .string "__FIXADDR_TOP"
32822 + .string "ioport_resource"
32826 + .string "elf32_sym"
32828 + .string "quota_sync"
32834 + .string "list_replace"
32838 + .string "spinlock_t"
32840 + .string "node_list"
32842 + .string "rcu_data"
32844 + .string "exit_signal"
32846 + .string "populate"
32848 + .string "sys_geteuid"
32850 + .string "d_bcount"
32854 + .string "work_struct"
32856 + .string "kobject"
32858 + .string "read_seqbegin"
32860 + .string "if_dqinfo"
32864 + .string "kobj_type"
32866 + .string "smp_ops"
32868 + .string "irq_count"
32872 + .string "it_sched_expires"
32876 + .string "dq_type"
32882 + .string "cpu_possible_map"
32884 + .string "knode_bus"
32888 + .string "i_mutex"
32890 + .string "dqb_itime"
32892 + .string "d_rtbcount"
32894 + .string "altroot"
32896 + .string "if_dqblk"
32898 + .string "__wait_queue"
32900 + .string "cs_dmacachep"
32906 + .string "dq_free"
32910 + .string "rb_left"
32916 + .string "vm_next"
32918 + .string "irq_chip"
32920 + .string "fs_qfilestat"
32922 + .string "HRTIMER_NORESTART"
32924 + .string "msleep_interruptible"
32926 + .string "driver_data"
32928 + .string "qs_version"
32934 + .string "mmap_cache"
32936 + .string "init_size"
32940 + .string "fs_excl"
32942 + .string "d_itimer"
32944 + .string "__kernel_mode_t"
32946 + .string "task_struct"
32948 + .string "freeswap"
32950 + .string "f_count"
32952 + .string "__null_ds"
32954 + .string "dcookie_struct"
32956 + .string "ki_users"
32960 + .string "d_inode"
32964 + .string "follow_link"
32966 + .string "zonelist"
32968 + .string "cs_size"
32970 + .string "sleep_avg"
32972 + .string "per_cpu__this_cpu_off"
32976 + .string "i387_fxsave_struct"
32978 + .string "aio_read"
32980 + .string "__null_es"
32982 + .string "cpus_allowed"
32984 + .string "supervisor_stack"
32990 + .string "extable"
32992 + .string "ki_filp"
32994 + .string "shared_pending"
32996 + .string "sav_total"
33000 + .string "d_delete"
33002 + .string "bug_addr"
33004 + .string "__null_fs"
33008 + .string "timer_set_deferrable"
33010 + .string "nfs4_lock_info"
33012 + .string "drivers_dir"
33014 + .string "curtail"
33016 + .string "resource"
33020 + .string "prio_tree_root"
33022 + .string "writepage"
33024 + .string "dumpable"
33026 + .string "rootmnt"
33030 + .string "pages_low"
33032 + .string "__null_gs"
33034 + .string "bug_table"
33036 + .string "kernel_stat"
33038 + .string "s_flags"
33040 + .string "bd_holder"
33044 + .string "schedule_timeout"
33048 + .string "bus_type"
33052 + .string "pageset"
33054 + .string "attribute_group"
33056 + .string "per_cpu__kstat"
33058 + .string "i_flags"
33060 + .string "bus_notifier"
33062 + .string "devres_lock"
33064 + .string "acpi_disabled"
33066 + .string "desc_struct"
33068 + .string "d_ino_softlimit"
33070 + .string "i_dentry"
33072 + .string "fl_next"
33074 + .string "wait_list"
33076 + .string "proc_list"
33080 + .string "aio_fsync"
33082 + .string "get_parent"
33084 + .string "nxtlist"
33086 + .string "saved_esp0"
33088 + .string "start_stack"
33090 + .string "sys_sysinfo"
33092 + .string "dentry_operations"
33094 + .string "PIDTYPE_MAX"
33096 + .string "maj_flt"
33098 + .string "unplug_io_fn"
33100 + .string "raw_lock"
33102 + .string "__sigrestore_t"
33104 + .string "prepare_write"
33106 + .string "timeout"
33108 + .string "env_start"
33110 + .string "dqptr_sem"
33112 + .string "release_dqblk"
33114 + .string "i387_fsave_struct"
33118 + .string "show_stats"
33120 + .string "contig_page_data"
33122 + .string "wait_queue_func_t"
33124 + .string "signal_struct"
33126 + .string "per_cpu__gdt_page"
33130 + .string "link_count"
33132 + .string "ki_nbytes"
33134 + .string "fasync_struct"
33136 + .string "saved_state"
33142 + .string "set_xstate"
33144 + .string "prio_tree_node"
33146 + .string "stack_vm"
33150 + .string "class_device_attribute"
33158 + .string "task_io_accounting"
33160 + .string "keep_capabilities"
33162 + .string "init_apic_ldr"
33166 + .string "debugreg"
33168 + .string "vm_flags"
33170 + .string "mp_config_table"
33172 + .string "gdt_page"
33174 + .string "kswapd_max_order"
33182 + .string "get_info"
33184 + .string "sival_ptr"
33186 + .string "first_time_slice"
33192 + .string "wait_chldexit"
33194 + .string "mm_segment_t"
33196 + .string "d_fieldmask"
33198 + .string "ssize_t"
33208 + .string "cpumask_t"
33210 + .string "__ksymtab_round_jiffies"
33214 + .string "cinblock"
33218 + .string "node_spanned_pages"
33220 + .string "__round_jiffies_relative"
33222 + .string "bd_part"
33224 + .string "__ksymtab_jiffies_64"
33228 + .string "cpu_mask_to_apicid"
33230 + .string "active_tasks"
33232 + .string "mpc_oem_pci_bus"
33234 + .string "rt_mutex_waiter"
33236 + .string "send_IPI_allbutself"
33238 + .string "saved_names"
33240 + .string "ki_left"
33244 + .string "wall_to_monotonic"
33246 + .string "file_system_type"
33250 + .string "exit_code"
33254 + .string "drop_inode"
33258 + .string "apic_destination_logical"
33260 + .string "trap_no"
33264 + .string "dma_mask"
33266 + .string "delayed_work"
33270 + .string "__kstrtab___round_jiffies_relative"
33276 + .string "siglock"
33278 + .string "schedule_timeout_interruptible"
33280 + .string "n_klist"
33284 + .string "get_softirq_time"
33286 + .string "_sigpoll"
33290 + .string "unsigned int"
33292 + .string "hlist_head"
33296 + .string "entry_eip"
33297 + .ident "GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)"
33298 + .section .note.GNU-stack,"",@progbits
33299 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/mm/memory.c linux-2.6.22-591/mm/memory.c
33300 --- linux-2.6.22-590/mm/memory.c 2009-03-16 20:49:42.000000000 -0400
33301 +++ linux-2.6.22-591/mm/memory.c 2009-03-16 20:58:59.000000000 -0400
33304 #include <linux/swapops.h>
33305 #include <linux/elf.h>
33306 +#include <linux/arrays.h>
33308 #ifndef CONFIG_NEED_MULTIPLE_NODES
33309 /* use the per-pgdat data instead for discontigmem - mbligh */
33310 @@ -2601,6 +2602,15 @@
33314 +extern void (*rec_event)(void *,unsigned int);
33315 +struct event_spec {
33316 + unsigned long pc;
33317 + unsigned long dcookie;
33319 + unsigned char reason;
33324 * By the time we get here, we already hold the mm semaphore
33326 @@ -2630,6 +2640,24 @@
33328 return VM_FAULT_OOM;
33330 +#ifdef CONFIG_CHOPSTIX
33332 + struct event event;
33333 + struct event_spec espec;
33334 + struct pt_regs *regs;
33336 + regs = task_pt_regs(current);
33337 + pc = regs->eip & (unsigned int) ~4095;
33339 + espec.reason = 0; /* alloc */
33340 + event.event_data=&espec;
33341 + event.task = current;
33343 + event.event_type=5;
33344 + (*rec_event)(&event, 1);
33348 return handle_pte_fault(mm, vma, address, pte, pmd, write_access);
33351 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/mm/slab.c linux-2.6.22-591/mm/slab.c
33352 --- linux-2.6.22-590/mm/slab.c 2009-03-16 20:49:42.000000000 -0400
33353 +++ linux-2.6.22-591/mm/slab.c 2009-03-16 21:00:27.000000000 -0400
33354 @@ -110,11 +110,13 @@
33355 #include <linux/fault-inject.h>
33356 #include <linux/rtmutex.h>
33357 #include <linux/reciprocal_div.h>
33358 +#include <linux/arrays.h>
33360 #include <asm/cacheflush.h>
33361 #include <asm/tlbflush.h>
33362 #include <asm/page.h>
33366 * DEBUG - 1 for kmem_cache_create() to honour; SLAB_RED_ZONE & SLAB_POISON.
33367 * 0 for faster, smaller code (especially in the critical paths).
33368 @@ -249,6 +251,14 @@
33372 +extern void (*rec_event)(void *,unsigned int);
33373 +struct event_spec {
33374 + unsigned long pc;
33375 + unsigned long dcookie;
33377 + unsigned char reason;
33381 * struct array_cache
33383 @@ -3443,6 +3453,19 @@
33384 local_irq_restore(save_flags);
33385 objp = cache_alloc_debugcheck_after(cachep, flags, objp, caller);
33387 +#ifdef CONFIG_CHOPSTIX
33388 + if (rec_event && objp) {
33389 + struct event event;
33390 + struct event_spec espec;
33392 + espec.reason = 0; /* alloc */
33393 + event.event_data=&espec;
33394 + event.task = current;
33396 + event.event_type=5;
33397 + (*rec_event)(&event, cachep->buffer_size);
33403 @@ -3549,12 +3572,26 @@
33404 * Release an obj back to its cache. If the obj has a constructed state, it must
33405 * be in this state _before_ it is released. Called with disabled ints.
33407 -static inline void __cache_free(struct kmem_cache *cachep, void *objp)
33408 +static inline void __cache_free(struct kmem_cache *cachep, void *objp, void *caller)
33410 struct array_cache *ac = cpu_cache_get(cachep);
33413 - objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0));
33414 + objp = cache_free_debugcheck(cachep, objp, caller);
33415 + #ifdef CONFIG_CHOPSTIX
33416 + if (rec_event && objp) {
33417 + struct event event;
33418 + struct event_spec espec;
33420 + espec.reason = 1; /* free */
33421 + event.event_data=&espec;
33422 + event.task = current;
33424 + event.event_type=4;
33425 + (*rec_event)(&event, cachep->buffer_size);
33429 vx_slab_free(cachep);
33431 if (cache_free_alien(cachep, objp))
33432 @@ -3651,16 +3688,19 @@
33433 __builtin_return_address(0));
33435 EXPORT_SYMBOL(kmem_cache_alloc_node);
33437 static __always_inline void *
33438 __do_kmalloc_node(size_t size, gfp_t flags, int node, void *caller)
33440 struct kmem_cache *cachep;
33444 cachep = kmem_find_general_cachep(size, flags);
33445 if (unlikely(cachep == NULL))
33447 - return kmem_cache_alloc_node(cachep, flags, node);
33448 + ret = kmem_cache_alloc_node(cachep, flags, node);
33453 #ifdef CONFIG_DEBUG_SLAB
33454 @@ -3696,6 +3736,7 @@
33457 struct kmem_cache *cachep;
33460 /* If you want to save a few bytes .text space: replace
33462 @@ -3705,9 +3746,10 @@
33463 cachep = __find_general_cachep(size, flags);
33464 if (unlikely(cachep == NULL))
33466 - return __cache_alloc(cachep, flags, caller);
33468 + ret = __cache_alloc(cachep, flags, caller);
33473 #ifdef CONFIG_DEBUG_SLAB
33474 void *__kmalloc(size_t size, gfp_t flags)
33475 @@ -3723,10 +3765,17 @@
33476 EXPORT_SYMBOL(__kmalloc_track_caller);
33479 +#ifdef CONFIG_CHOPSTIX
33480 +void *__kmalloc(size_t size, gfp_t flags)
33482 + return __do_kmalloc(size, flags, __builtin_return_address(0));
33485 void *__kmalloc(size_t size, gfp_t flags)
33487 return __do_kmalloc(size, flags, NULL);
33490 EXPORT_SYMBOL(__kmalloc);
33493 @@ -3792,7 +3841,7 @@
33495 local_irq_save(flags);
33496 debug_check_no_locks_freed(objp, obj_size(cachep));
33497 - __cache_free(cachep, objp);
33498 + __cache_free(cachep, objp,__builtin_return_address(0));
33499 local_irq_restore(flags);
33501 EXPORT_SYMBOL(kmem_cache_free);
33502 @@ -3817,7 +3866,7 @@
33503 kfree_debugcheck(objp);
33504 c = virt_to_cache(objp);
33505 debug_check_no_locks_freed(objp, obj_size(c));
33506 - __cache_free(c, (void *)objp);
33507 + __cache_free(c, (void *)objp,__builtin_return_address(0));
33508 local_irq_restore(flags);
33510 EXPORT_SYMBOL(kfree);
33511 diff -Nurb --exclude='*.cmd' --exclude='*.orig' --exclude='*.swp' --exclude=tags --exclude='*.patch' --exclude='*.diff' --exclude='*.svn*' linux-2.6.22-590/mm/slab.c.rej linux-2.6.22-591/mm/slab.c.rej
33512 --- linux-2.6.22-590/mm/slab.c.rej 1969-12-31 19:00:00.000000000 -0500
33513 +++ linux-2.6.22-591/mm/slab.c.rej 2009-03-16 20:58:59.000000000 -0400
33516 +*** 3549,3560 ****
33517 + * Release an obj back to its cache. If the obj has a constructed state, it must
33518 + * be in this state _before_ it is released. Called with disabled ints.
33520 +- static inline void __cache_free(struct kmem_cache *cachep, void *objp)
33522 + struct array_cache *ac = cpu_cache_get(cachep);
33525 +- objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0));
33527 + if (cache_free_alien(cachep, objp))
33529 +--- 3572,3596 ----
33530 + * Release an obj back to its cache. If the obj has a constructed state, it must
33531 + * be in this state _before_ it is released. Called with disabled ints.
33533 ++ static inline void __cache_free(struct kmem_cache *cachep, void *objp, void *caller)
33535 + struct array_cache *ac = cpu_cache_get(cachep);
33538 ++ objp = cache_free_debugcheck(cachep, objp, caller);
33539 ++ #ifdef CONFIG_CHOPSTIX
33540 ++ if (rec_event && objp) {
33541 ++ struct event event;
33542 ++ struct event_spec espec;
33544 ++ espec.reason = 1; /* free */
33545 ++ event.event_data=&espec;
33546 ++ event.task = current;
33547 ++ espec.pc=caller;
33548 ++ event.event_type=4;
33549 ++ (*rec_event)(&event, cachep->buffer_size);
33553 + if (cache_free_alien(cachep, objp))