aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-04-12 23:30:36 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-04-12 23:30:36 -0400
commit05b2ec2ab620b102a2d2fb92dac95ddbc1e09143 (patch)
tree2950ddff097e1cf781f6ed5fba0c55673e668cce
parent24141cda67fe0cbe680c2d3ca15a5ba0799ed744 (diff)
Add get_control_page() library function
-rw-r--r--include/litmus.h7
-rw-r--r--src/kernel_iface.c13
2 files changed, 20 insertions, 0 deletions
diff --git a/include/litmus.h b/include/litmus.h
index 6d0ad40..e0f16d3 100644
--- a/include/litmus.h
+++ b/include/litmus.h
@@ -120,6 +120,13 @@ static inline int open_srp_sem(int fd, int name)
120/* syscall overhead measuring */ 120/* syscall overhead measuring */
121int null_call(cycles_t *timestamp); 121int null_call(cycles_t *timestamp);
122 122
123/*
124 * get control page:
125 * atm it is used only by preemption migration overhead code
126 * but it is very general and can be used for different purposes
127 */
128struct control_page* get_ctrl_page(void);
129
123#ifdef __cplusplus 130#ifdef __cplusplus
124} 131}
125#endif 132#endif
diff --git a/src/kernel_iface.c b/src/kernel_iface.c
index dbc4baa..afb6202 100644
--- a/src/kernel_iface.c
+++ b/src/kernel_iface.c
@@ -72,3 +72,16 @@ void exit_np(void)
72 } 72 }
73} 73}
74 74
75/* init and return a ptr to the control page for
76 * preemption and migration overhead analysis
77 *
78 * FIXME it may be desirable to have a RO control page here
79 */
80struct control_page* get_ctrl_page(void)
81{
82 if((ctrl_page != NULL) || init_kernel_iface() == 0)
83 return ctrl_page;
84 else
85 return NULL;
86}
87