git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
connector
/
cn_proc.c
diff --git
a/drivers/connector/cn_proc.c
b/drivers/connector/cn_proc.c
index
59e5d50
..
058fc74
100644
(file)
--- a/
drivers/connector/cn_proc.c
+++ b/
drivers/connector/cn_proc.c
@@
-28,6
+28,7
@@
#include <linux/init.h>
#include <linux/connector.h>
#include <asm/atomic.h>
#include <linux/init.h>
#include <linux/connector.h>
#include <asm/atomic.h>
+#include <asm/unaligned.h>
#include <linux/cn_proc.h>
#include <linux/cn_proc.h>
@@
-60,7
+61,7
@@
void proc_fork_connector(struct task_struct *task)
ev = (struct proc_event*)msg->data;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
ev = (struct proc_event*)msg->data;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
-
ev->timestamp_ns = timespec_to_ns(&t
s);
+
put_unaligned(timespec_to_ns(&ts), (__u64 *)&ev->timestamp_n
s);
ev->what = PROC_EVENT_FORK;
ev->event_data.fork.parent_pid = task->parent->pid;
ev->event_data.fork.parent_tgid = task->parent->tgid;
ev->what = PROC_EVENT_FORK;
ev->event_data.fork.parent_pid = task->parent->pid;
ev->event_data.fork.parent_tgid = task->parent->tgid;
@@
-88,7
+89,7
@@
void proc_exec_connector(struct task_struct *task)
ev = (struct proc_event*)msg->data;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
ev = (struct proc_event*)msg->data;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
-
ev->timestamp_ns = timespec_to_ns(&t
s);
+
put_unaligned(timespec_to_ns(&ts), (__u64 *)&ev->timestamp_n
s);
ev->what = PROC_EVENT_EXEC;
ev->event_data.exec.process_pid = task->pid;
ev->event_data.exec.process_tgid = task->tgid;
ev->what = PROC_EVENT_EXEC;
ev->event_data.exec.process_pid = task->pid;
ev->event_data.exec.process_tgid = task->tgid;
@@
-124,7
+125,7
@@
void proc_id_connector(struct task_struct *task, int which_id)
return;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
return;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
-
ev->timestamp_ns = timespec_to_ns(&t
s);
+
put_unaligned(timespec_to_ns(&ts), (__u64 *)&ev->timestamp_n
s);
memcpy(&msg->id, &cn_proc_event_id, sizeof(msg->id));
msg->ack = 0; /* not used */
memcpy(&msg->id, &cn_proc_event_id, sizeof(msg->id));
msg->ack = 0; /* not used */
@@
-146,7
+147,7
@@
void proc_exit_connector(struct task_struct *task)
ev = (struct proc_event*)msg->data;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
ev = (struct proc_event*)msg->data;
get_seq(&msg->seq, &ev->cpu);
ktime_get_ts(&ts); /* get high res monotonic timestamp */
-
ev->timestamp_ns = timespec_to_ns(&t
s);
+
put_unaligned(timespec_to_ns(&ts), (__u64 *)&ev->timestamp_n
s);
ev->what = PROC_EVENT_EXIT;
ev->event_data.exit.process_pid = task->pid;
ev->event_data.exit.process_tgid = task->tgid;
ev->what = PROC_EVENT_EXIT;
ev->event_data.exit.process_pid = task->pid;
ev->event_data.exit.process_tgid = task->tgid;
@@
-181,7
+182,7
@@
static void cn_proc_ack(int err, int rcvd_seq, int rcvd_ack)
ev = (struct proc_event*)msg->data;
msg->seq = rcvd_seq;
ktime_get_ts(&ts); /* get high res monotonic timestamp */
ev = (struct proc_event*)msg->data;
msg->seq = rcvd_seq;
ktime_get_ts(&ts); /* get high res monotonic timestamp */
-
ev->timestamp_ns = timespec_to_ns(&t
s);
+
put_unaligned(timespec_to_ns(&ts), (__u64 *)&ev->timestamp_n
s);
ev->cpu = -1;
ev->what = PROC_EVENT_NONE;
ev->event_data.ack.err = err;
ev->cpu = -1;
ev->what = PROC_EVENT_NONE;
ev->event_data.ack.err = err;