bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 3/8] kern: add a name field to struct task


From: Justus Winter
Subject: [PATCH 3/8] kern: add a name field to struct task
Date: Sat, 1 Feb 2014 15:09:23 +0100

* kern/task.c (task_create): Initialize name with the address of the task.
* kern/task.h (TASK_NAME_SIZE): New definition.
(struct task): Add field name.
---
 kern/task.c | 3 +++
 kern/task.h | 9 +++++++++
 2 files changed, 12 insertions(+)

diff --git a/kern/task.c b/kern/task.c
index 13b3c76..0b5a6f7 100644
--- a/kern/task.c
+++ b/kern/task.c
@@ -45,6 +45,7 @@
 #include <kern/slab.h>
 #include <kern/kalloc.h>
 #include <kern/processor.h>
+#include <kern/printf.h>
 #include <kern/sched_prim.h>   /* for thread_wakeup */
 #include <kern/ipc_tt.h>
 #include <kern/syscall_emulation.h>
@@ -164,6 +165,8 @@ kern_return_t task_create(
        }
 #endif /* FAST_TAS */
 
+       snprintf (new_task->name, sizeof new_task->name, "%p", new_task);
+
        ipc_task_enable(new_task);
 
        *child_task = new_task;
diff --git a/kern/task.h b/kern/task.h
index e852033..7ae10cd 100644
--- a/kern/task.h
+++ b/kern/task.h
@@ -48,6 +48,13 @@
 #include <vm/vm_types.h>
 #include <machine/task.h>
 
+/*
+ * Task name buffer size.  The size is chosen so that struct task fits
+ * into three cache lines.  The size of a cache line on a typical CPU
+ * is 64 bytes.
+ */
+#define TASK_NAME_SIZE 32
+
 struct task {
        /* Synchronization/destruction information */
        decl_simple_lock_data(,lock)    /* Task's lock */
@@ -113,6 +120,8 @@ struct task {
        natural_t       cow_faults;     /* copy-on-write faults counter */
        natural_t       messages_sent;  /* messages sent counter */
        natural_t       messages_received; /* messages received counter */
+
+       char    name[TASK_NAME_SIZE];
 };
 
 #define task_lock(task)                simple_lock(&(task)->lock)
-- 
1.8.5.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]