move everything out of trunk
[lttv.git] / lttng-xenomai / patch-xenomai-xenoltt
1 diff -Naur xenomai-2.2.3/config.log xenomai-2.2.3-good/config.log
2 --- xenomai-2.2.3/config.log 2006-12-07 17:17:36.000000000 -0500
3 +++ xenomai-2.2.3-good/config.log 2006-12-07 11:09:13.000000000 -0500
4 @@ -954,6 +954,7 @@
5 config.status:894: creating doc/docbook/custom-stylesheets/xsl/html/onechunk.xsl
6 config.status:894: creating doc/docbook/xenomai/Makefile
7 config.status:960: creating src/include/xeno_config.h
8 +config.status:1092: src/include/xeno_config.h is unchanged
9 config.status:1171: linking ./include/asm-i386 to src/include/asm/xenomai
10 config.status:1171: linking ./include/asm-generic to src/include/asm-generic/xenomai
11 config.status:1408: executing depfiles commands
12 diff -Naur xenomai-2.2.3/include/nucleus/ltt.h xenomai-2.2.3-good/include/nucleus/ltt.h
13 --- xenomai-2.2.3/include/nucleus/ltt.h 2006-07-18 09:18:51.000000000 -0400
14 +++ xenomai-2.2.3-good/include/nucleus/ltt.h 2006-11-14 10:01:40.000000000 -0500
15 @@ -96,11 +96,13 @@
16
17 extern int xnltt_filter;
18
19 -#define xnltt_log_event(ev, args...) \
20 +#define xnltt_log_event(ev, args...) ;
21 +/*
22 do { \
23 if (xnltt_evtable[ev].ltt_filter & xnltt_filter) \
24 ltt_log_std_formatted_event(xnltt_evtable[ev].ltt_evid, ##args); \
25 } while(0)
26 +*/
27
28 static inline void xnltt_set_filter (int mask)
29 {
30 diff -Naur xenomai-2.2.3/include/nucleus/synch.h xenomai-2.2.3-good/include/nucleus/synch.h
31 --- xenomai-2.2.3/include/nucleus/synch.h 2006-08-13 15:42:27.000000000 -0400
32 +++ xenomai-2.2.3-good/include/nucleus/synch.h 2006-11-14 10:01:40.000000000 -0500
33 @@ -17,6 +17,12 @@
34 * 02111-1307, USA.
35 */
36
37 +/****************************************************
38 + * JOV - XenoLTT - 2006-10-24
39 + * To enable LTTng tracing functions on Xenomai synch
40 + ****************************************************/
41 +#include <linux/ltt/ltt-facility-xenoltt.h>
42 +
43 #ifndef _XENO_NUCLEUS_SYNCH_H
44 #define _XENO_NUCLEUS_SYNCH_H
45
46 @@ -89,6 +95,12 @@
47
48 static inline void xnsynch_set_owner (xnsynch_t *synch, struct xnthread *thread)
49 {
50 +/**************************************************************
51 + * JOV - XenoLTT - 2006-10-24
52 + * Here we place the tracing call for the set owner function
53 + * Args: synch object, thread
54 + **************************************************************/
55 + trace_xenoltt_xeno_synch_set_owner(thread,synch);
56 synch->owner = thread;
57 }
58
59 diff -Naur xenomai-2.2.3/ksrc/nucleus/intr.c xenomai-2.2.3-good/ksrc/nucleus/intr.c
60 --- xenomai-2.2.3/ksrc/nucleus/intr.c 2006-07-18 09:19:03.000000000 -0400
61 +++ xenomai-2.2.3-good/ksrc/nucleus/intr.c 2006-11-14 10:01:18.000000000 -0500
62 @@ -389,7 +389,7 @@
63 xnarch_memory_barrier();
64
65 xnltt_log_event(xeno_ev_ienter, irq);
66 -
67 +
68 ++sched->inesting;
69 s = intr->isr(intr);
70 ++intr->hits;
71 @@ -476,7 +476,7 @@
72 xnarch_memory_barrier();
73
74 xnltt_log_event(xeno_ev_ienter, irq);
75 -
76 +
77 ++sched->inesting;
78
79 xnintr_shirq_lock(shirq);
80 @@ -521,7 +521,7 @@
81 xnarch_memory_barrier();
82
83 xnltt_log_event(xeno_ev_ienter, irq);
84 -
85 +
86 ++sched->inesting;
87
88 xnintr_shirq_lock(shirq);
89 diff -Naur xenomai-2.2.3/ksrc/nucleus/ltt.c xenomai-2.2.3-good/ksrc/nucleus/ltt.c
90 --- xenomai-2.2.3/ksrc/nucleus/ltt.c 2006-07-18 09:19:03.000000000 -0400
91 +++ xenomai-2.2.3-good/ksrc/nucleus/ltt.c 2006-11-14 10:01:18.000000000 -0500
92 @@ -34,8 +34,7 @@
93 va_start(ap, fmt);
94 vsnprintf(markbuf, sizeof(markbuf), fmt, ap);
95 va_end(ap);
96 - ltt_log_std_formatted_event(xnltt_evtable[xeno_ev_mark].
97 - ltt_evid, markbuf);
98 +// ltt_log_std_formatted_event(xnltt_evtable[xeno_ev_mark]. ltt_evid, markbuf);
99 }
100 }
101
102 @@ -46,13 +45,15 @@
103 /* Create all custom LTT events we need. */
104
105 for (ev = 0; xnltt_evtable[ev].ltt_label != NULL; ev++) {
106 +/*
107 evid = ltt_create_event(xnltt_evtable[ev].ltt_label,
108 xnltt_evtable[ev].ltt_format,
109 LTT_CUSTOM_EV_FORMAT_TYPE_STR, NULL);
110 +*/
111 if (evid < 0) {
112 while (--ev >= 0) {
113 xnltt_evtable[ev].ltt_evid = -1;
114 - ltt_destroy_event(xnltt_evtable[ev].ltt_evid);
115 +// ltt_destroy_event(xnltt_evtable[ev].ltt_evid);
116 }
117
118 return evid;
119 @@ -81,9 +82,10 @@
120 void __exit xnltt_umount(void)
121 {
122 int ev;
123 -
124 +/*
125 for (ev = 0; xnltt_evtable[ev].ltt_evid != -1; ev++)
126 ltt_destroy_event(xnltt_evtable[ev].ltt_evid);
127 +*/
128 }
129
130 struct xnltt_evmap xnltt_evtable[] = {
131 diff -Naur xenomai-2.2.3/ksrc/nucleus/pod.c xenomai-2.2.3-good/ksrc/nucleus/pod.c
132 --- xenomai-2.2.3/ksrc/nucleus/pod.c 2006-09-03 09:45:41.000000000 -0400
133 +++ xenomai-2.2.3-good/ksrc/nucleus/pod.c 2006-12-08 09:03:25.000000000 -0500
134 @@ -44,6 +44,12 @@
135 #include <nucleus/module.h>
136 #include <nucleus/ltt.h>
137
138 +/****************************************************
139 + * JOV - XenoLTT - 2006-09-25
140 + * To enable LTTng tracing functions on Xenomai task
141 + ****************************************************/
142 +#include <linux/ltt/ltt-facility-xenoltt.h>
143 +
144 /* NOTE: We need to initialize the globals: remember that this code
145 also runs over user-space VMs... */
146
147 @@ -227,6 +233,7 @@
148 void xnpod_schedule_handler(void)
149 {
150 xnltt_log_event(xeno_ev_smpsched);
151 +
152 xnsched_set_resched(xnpod_current_sched());
153 xnpod_schedule();
154 }
155 @@ -814,6 +821,13 @@
156 return err;
157
158 xnltt_log_event(xeno_ev_thrinit, thread->name, flags);
159 +
160 +/*************************************************************
161 + * JOV - XenoLTT - 2006-09-25
162 + * Here we place the tracing call for the thread init function
163 + * Args: Name, address, flags, priority
164 + *************************************************************/
165 + trace_xenoltt_xeno_thread_init(thread->name,thread,flags,prio);
166
167 xnlock_get_irqsave(&nklock, s);
168 thread->sched = xnpod_current_sched();
169 @@ -947,6 +961,13 @@
170
171 xnltt_log_event(xeno_ev_thrstart, thread->name);
172
173 +/**************************************************************
174 + * JOV - XenoLTT - 2006-09-25
175 + * Here we place the tracing call for the thread start function
176 + * Args: Name, address
177 + **************************************************************/
178 + trace_xenoltt_xeno_thread_start(thread->name,thread);
179 +
180 #if defined(__KERNEL__) && defined(CONFIG_XENO_OPT_PERVASIVE)
181 if (testbits(thread->status, XNSHADOW)) {
182 xnlock_put_irqrestore(&nklock, s);
183 @@ -1027,7 +1048,14 @@
184 xnlock_get_irqsave(&nklock, s);
185
186 xnltt_log_event(xeno_ev_threstart, thread->name);
187 +/***************************************************************
188 + * JOV - XenoLTT - 2006-10-05
189 + * Here we place the tracing call for the thread restart function
190 + * Args: Name, address
191 + ***************************************************************/
192 + trace_xenoltt_xeno_thread_restart(thread->name,thread);
193
194 +
195 /* Break the thread out of any wait it is currently in. */
196 xnpod_unblock_thread(thread);
197
198 @@ -1226,6 +1254,14 @@
199
200 xnltt_log_event(xeno_ev_thrdelete, thread->name);
201
202 +/***************************************************************
203 + * JOV - XenoLTT - 2006-09-25
204 + * Here we place the tracing call for the thread delete function
205 + * Args: Name, address
206 + ***************************************************************/
207 + trace_xenoltt_xeno_thread_delete(thread->name,thread);
208 +
209 +
210 sched = thread->sched;
211
212 removeq(&nkpod->threadq, &thread->glink);
213 @@ -1375,6 +1411,14 @@
214
215 xnltt_log_event(xeno_ev_thrsuspend, thread->name, mask, timeout, wchan);
216
217 +/****************************************************************
218 + * JOV - XenoLTT - 2006-09-25
219 + * Here we place the tracing call for the thread suspend function
220 + * Args: Name, address, address of a pended resource
221 + ****************************************************************/
222 + trace_xenoltt_xeno_thread_suspend(thread->name,thread,mask,timeout,wchan);
223 +
224 +
225 sched = thread->sched;
226
227 if (thread == sched->runthread) {
228 @@ -1552,6 +1596,14 @@
229 xnlock_get_irqsave(&nklock, s);
230
231 xnltt_log_event(xeno_ev_thresume, thread->name, mask);
232 +
233 +/***************************************************************
234 + * JOV - XenoLTT - 2006-09-25
235 + * Here we place the tracing call for the thread resume function
236 + * Args: Name, address, start time, period
237 + ***************************************************************/
238 + trace_xenoltt_xeno_thread_resume(thread->name,thread,mask);
239 +
240 xnarch_trace_pid(xnthread_user_task(thread) ?
241 xnarch_user_pid(xnthread_archtcb(thread)) : -1,
242 xnthread_current_priority(thread));
243 @@ -1701,6 +1753,12 @@
244 xnlock_get_irqsave(&nklock, s);
245
246 xnltt_log_event(xeno_ev_thrunblock, thread->name, thread->status);
247 +/***************************************************************
248 + * JOV - XenoLTT - 2006-09-25
249 + * Here we place the tracing call for the thread unblock function
250 + * Args: Name, address, start time, period
251 + ***************************************************************/
252 + trace_xenoltt_xeno_thread_unblock(thread->name,thread,thread->status);
253
254 if (testbits(thread->status, XNDELAY))
255 xnpod_resume_thread(thread, XNDELAY);
256 @@ -1785,6 +1843,13 @@
257
258 xnltt_log_event(xeno_ev_threnice, thread->name, prio);
259
260 +/***************************************************************
261 + * JOV - XenoLTT - 2006-09-25
262 + * Here we place the tracing call for the thread renice function
263 + * Args: Name, address, priority
264 + ***************************************************************/
265 + trace_xenoltt_xeno_thread_renice(thread->name,thread,prio);
266 +
267 oldprio = thread->cprio;
268
269 /* Change the thread priority, taking in account an undergoing PIP
270 @@ -2316,11 +2381,11 @@
271 #ifdef CONFIG_XENO_OPT_PERVASIVE
272 int shadow;
273 #endif /* CONFIG_XENO_OPT_PERVASIVE */
274 -
275 if (xnarch_escalate())
276 return;
277
278 xnltt_log_event(xeno_ev_resched);
279 +
280 #endif /* __KERNEL__ */
281
282 /* No immediate rescheduling is possible if an ISR or callout
283 @@ -2419,6 +2484,13 @@
284
285 xnltt_log_event(xeno_ev_switch, threadout->name, threadin->name);
286
287 +/**************************************************************
288 + * JOV - XenoLTT - 2006-11-09
289 + * Here we place the tracing call for the thread switch fonction
290 + * Args: Name, address, thread out name, address
291 + **************************************************************/
292 + trace_xenoltt_xeno_thread_switch(threadin->name,threadin,threadout->name,threadout);
293 +
294 #if defined(__KERNEL__) && defined(CONFIG_XENO_OPT_PERVASIVE)
295 shadow = testbits(threadout->status, XNSHADOW);
296 #endif /* __KERNEL__ && CONFIG_XENO_OPT_PERVASIVE */
297 @@ -2526,6 +2598,7 @@
298 xnthread_t *runthread = sched->runthread, *threadin;
299
300 xnltt_log_event(xeno_ev_fastsched);
301 +
302 xnarch_trace_pid(xnthread_user_task(runthread) ?
303 xnarch_user_pid(xnthread_archtcb(runthread)) : -1,
304 xnthread_current_priority(runthread));
305 @@ -3245,7 +3318,7 @@
306 xnlock_get(&nklock);
307
308 xnltt_log_event(xeno_ev_tmtick, xnpod_current_thread()->name);
309 -
310 +
311 #ifdef CONFIG_XENO_OPT_WATCHDOG
312 if (xnarch_get_cpu_tsc() >= sched->watchdog_trigger) {
313 if (!xnpod_root_p() && sched->watchdog_armed) {
314 @@ -3371,6 +3444,13 @@
315
316 xnltt_log_event(xeno_ev_thrperiodic, thread->name, idate, period);
317
318 +/**************************************************************
319 + * JOV - XenoLTT - 2006-09-25
320 + * Here we place the tracing call for the set periodic function
321 + * Args: Name, address, start time, period
322 + **************************************************************/
323 + trace_xenoltt_xeno_thread_set_period(thread->name,thread,idate,period,&thread->ptimer);
324 +
325 if (period == XN_INFINITE) {
326 if (xntimer_running_p(&thread->ptimer))
327 xntimer_stop(&thread->ptimer);
328 @@ -3392,6 +3472,7 @@
329 thread->pexpect =
330 xntimer_get_raw_expiry(&thread->ptimer)
331 + xntimer_interval(&thread->ptimer);
332 +
333 xnpod_suspend_thread(thread, XNDELAY, XN_INFINITE,
334 NULL);
335 } else
336 @@ -3466,6 +3547,13 @@
337
338 xnltt_log_event(xeno_ev_thrwait, thread->name);
339
340 +/**************************************************************
341 + * JOV - XenoLTT - 2006-09-25
342 + * Here we place the tracing call for the wait perdiod function
343 + * Args: Name, address
344 + **************************************************************/
345 + trace_xenoltt_xeno_thread_wait_period(thread->name,thread);
346 +
347 now = xntimer_get_rawclock(); /* Work with either TSC or periodic ticks. */
348
349 if (likely(now < thread->pexpect)) {
350 @@ -3500,7 +3588,13 @@
351 #endif /* BITS_PER_LONG < 64 */
352 thread->pexpect += period * overruns;
353 err = -ETIMEDOUT;
354 - }
355 +/**************************************************************
356 + * JOV - XenoLTT - 2006-10-16
357 + * Here we place the tracing call for the event of period exceed
358 + * Args: Name, address, number of periods exceeded
359 + **************************************************************/
360 + trace_xenoltt_xeno_thread_missed_period(thread->name,thread,overruns);
361 + }
362
363 thread->pexpect += period;
364
365 diff -Naur xenomai-2.2.3/ksrc/nucleus/synch.c xenomai-2.2.3-good/ksrc/nucleus/synch.c
366 --- xenomai-2.2.3/ksrc/nucleus/synch.c 2006-09-03 12:44:10.000000000 -0400
367 +++ xenomai-2.2.3-good/ksrc/nucleus/synch.c 2006-11-14 10:01:18.000000000 -0500
368 @@ -37,6 +37,11 @@
369 #include <nucleus/module.h>
370 #include <nucleus/ltt.h>
371
372 +/****************************************************
373 + * JOV - XenoLTT - 2006-10-17
374 + * To enable LTTng tracing functions on Xenomai synch
375 + ****************************************************/
376 +#include <linux/ltt/ltt-facility-xenoltt.h>
377 /*!
378 * \fn void xnsynch_init(xnsynch_t *synch, xnflags_t flags);
379 * \brief Initialize a synchronization object.
380 @@ -89,6 +94,7 @@
381 {
382 initph(&synch->link);
383
384 +
385 if (flags & XNSYNCH_PIP)
386 flags |= XNSYNCH_PRIO; /* Obviously... */
387
388 @@ -109,7 +115,13 @@
389
390 static inline void xnsynch_renice_thread(xnthread_t *thread, int prio)
391 {
392 - thread->cprio = prio;
393 +/**************************************************************
394 + * JOV - XenoLTT - 2006-10-24
395 + * Here we place the tracing call for the set renice function
396 + * Args: thread, priority
397 + **************************************************************/
398 + trace_xenoltt_xeno_synch_renice_thread(thread->name,thread,prio);
399 + thread->cprio = prio;
400
401 if (thread->wchan)
402 /* Ignoring the XNSYNCH_DREORD flag on purpose here. */
403 @@ -168,6 +180,12 @@
404 xnlock_get_irqsave(&nklock, s);
405
406 xnltt_log_event(xeno_ev_sleepon, thread->name, synch);
407 +/**************************************************************
408 + * JOV - XenoLTT - 2006-10-17
409 + * Here we place the tracing call for the sleepon synch function
410 + * Args: Name, address, synch
411 + **************************************************************/
412 + trace_xenoltt_xeno_synch_sleepon(thread->name,thread,synch);
413
414 if (!testbits(synch->status, XNSYNCH_PRIO)) { /* i.e. FIFO */
415 appendpq(&synch->pendq, &thread->plink);
416 @@ -373,7 +391,14 @@
417
418 xnlock_get_irqsave(&nklock, s);
419
420 - holder = getpq(&synch->pendq);
421 +/**************************************************************
422 + * JOV - XenoLTT - 2006-10-30
423 + * Here we place the tracing call for the unblock function
424 + * Args: Last Owner Name, address, synch
425 + **************************************************************/
426 + trace_xenoltt_xeno_synch_unlock(lastowner->name,lastowner,synch);
427 +
428 + holder = getpq(&synch->pendq);
429
430 if (holder) {
431 thread = link2thread(holder, plink);
432 @@ -381,7 +406,14 @@
433 synch->owner = thread;
434 __setbits(thread->status, XNWAKEN);
435 xnltt_log_event(xeno_ev_wakeup1, thread->name, synch);
436 - xnpod_resume_thread(thread, XNPEND);
437 +/**************************************************************
438 + * JOV - XenoLTT - 2006-10-17
439 + * Here we place the tracing call for the wakeup synch function
440 + * Args: Name, address, synch
441 + **************************************************************/
442 + trace_xenoltt_xeno_synch_wakeup1(thread->name,thread,synch);
443 +
444 + xnpod_resume_thread(thread, XNPEND);
445 } else
446 synch->owner = NULL;
447
448 @@ -452,7 +484,14 @@
449 synch->owner = thread;
450 __setbits(thread->status, XNWAKEN);
451 xnltt_log_event(xeno_ev_wakeupx, thread->name, synch);
452 - xnpod_resume_thread(thread, XNPEND);
453 +/**************************************************************
454 + * JOV - XenoLTT - 2006-10-17
455 + * Here we place the tracing call for the wakeup synch function
456 + * Args: Name, address, synch
457 + **************************************************************/
458 + trace_xenoltt_xeno_synch_wakeupx(thread->name,thread,synch);
459 +
460 + xnpod_resume_thread(thread, XNPEND);
461
462 if (testbits(synch->status, XNSYNCH_CLAIMED))
463 xnsynch_clear_boost(synch, lastowner);
464 @@ -522,6 +561,12 @@
465 xnlock_get_irqsave(&nklock, s);
466
467 xnltt_log_event(xeno_ev_syncflush, synch, reason);
468 +/**************************************************************
469 + * JOV - XenoLTT - 2006-10-17
470 + * Here we place the tracing call for the wakeup synch function
471 + * Args: Name, address, synch
472 + **************************************************************/
473 + trace_xenoltt_xeno_synch_syncflush(synch,reason);
474
475 status = emptypq_p(&synch->pendq) ? XNSYNCH_DONE : XNSYNCH_RESCHED;
476
477 @@ -568,7 +613,13 @@
478 xnsynch_t *synch = thread->wchan;
479
480 xnltt_log_event(xeno_ev_syncforget, thread->name, synch);
481 -
482 +/**************************************************************
483 + * JOV - XenoLTT - 2006-10-17
484 + * Here we place the tracing call for the forget synch call
485 + * Args: Name, address, synch
486 + **************************************************************/
487 + trace_xenoltt_xeno_synch_syncforget(thread->name, thread, synch);
488 +
489 __clrbits(thread->status, XNPEND);
490 thread->wchan = NULL;
491 removepq(&synch->pendq, &thread->plink);
492 diff -Naur xenomai-2.2.3/ksrc/nucleus/timer.c xenomai-2.2.3-good/ksrc/nucleus/timer.c
493 --- xenomai-2.2.3/ksrc/nucleus/timer.c 2006-08-27 06:45:08.000000000 -0400
494 +++ xenomai-2.2.3-good/ksrc/nucleus/timer.c 2006-11-14 10:01:18.000000000 -0500
495 @@ -48,6 +48,12 @@
496 #include <nucleus/thread.h>
497 #include <nucleus/timer.h>
498
499 +/****************************************************
500 + * JOV - XenoLTT - 2006-10-18
501 + * To enable LTTng tracing functions on Xenomai task
502 + ****************************************************/
503 +#include <linux/ltt/ltt-facility-xenoltt.h>
504 +
505 static inline void xntimer_enqueue_aperiodic(xntimer_t *timer)
506 {
507 xntimerq_t *q = &timer->sched->timerqueue;
508 @@ -202,22 +208,30 @@
509 xnsched_t *sched = xnpod_current_sched();
510 xntimerq_t *timerq = &sched->timerqueue;
511 xntimerh_t *holder;
512 - xntimer_t *timer;
513 -
514 + xntimer_t *timer;
515 +
516 while ((holder = xntimerq_head(timerq)) != NULL) {
517 timer = aplink2timer(holder);
518
519 if (xntimerh_date(&timer->aplink) - nkschedlat >
520 - xnarch_get_cpu_tsc())
521 + xnarch_get_cpu_tsc())
522 /* No need to continue in aperiodic mode since timeout
523 dates are ordered by increasing values. */
524 break;
525 +
526
527 xntimer_dequeue_aperiodic(timer);
528
529 if (timer != &nkpod->htimer) {
530 if (!testbits(nkpod->status, XNTLOCK)) {
531 - timer->handler(timer->cookie);
532 + /**************************************************************
533 + * JOV - XenoLTT - 2006-10-18
534 + * Here we place the tracing call for the current thread timer tick
535 + * Args: Name, Address
536 + **************************************************************/
537 + trace_xenoltt_xeno_timer_tick("1",holder);
538 +
539 + timer->handler(timer->cookie);
540
541 if (timer->interval == XN_INFINITE ||
542 !testbits(timer->status, XNTIMER_DEQUEUED)
543 @@ -234,12 +248,13 @@
544 nkpod->htimer.interval;
545 continue;
546 }
547 +
548 } else
549 - /* By postponing the propagation of the low-priority host
550 + /* By postponing the propagation of the low-priority host
551 tick to the interrupt epilogue (see
552 xnintr_irq_handler()), we save some I-cache, which
553 translates into precious microsecs on low-end hw. */
554 - __setbits(sched->status, XNHTICK);
555 + __setbits(sched->status, XNHTICK);
556
557 xntimerh_date(&timer->aplink) += timer->interval;
558 xntimer_enqueue_aperiodic(timer);
559 @@ -379,7 +394,8 @@
560 xntlholder_t *holder;
561 xnqueue_t *timerq;
562 xntimer_t *timer;
563 -
564 +
565 +
566 /* Update the periodic clocks keeping the things strictly
567 monotonous (this routine is run on every cpu, but only CPU
568 XNTIMER_KEEPER_ID should do this). */
569 @@ -389,7 +405,7 @@
570 timerq = &sched->timerwheel[nkpod->jiffies & XNTIMER_WHEELMASK];
571
572 while ((holder = xntlist_head(timerq)) != NULL) {
573 - timer = plink2timer(holder);
574 + timer = plink2timer(holder);
575
576 if (xntlholder_date(&timer->plink) > nkpod->jiffies)
577 break;
578 @@ -398,7 +414,14 @@
579
580 if (timer != &nkpod->htimer) {
581 if (!testbits(nkpod->status, XNTLOCK)) {
582 - timer->handler(timer->cookie);
583 + /**************************************************************
584 + * JOV - XenoLTT - 2006-10-18
585 + * Here we place the tracing call for the current thread timer tick
586 + * Args: Name, Address
587 + **************************************************************/
588 + trace_xenoltt_xeno_timer_tick("2",holder);
589 +
590 + timer->handler(timer->cookie);
591
592 if (timer->interval == XN_INFINITE ||
593 !testbits(timer->status, XNTIMER_DEQUEUED)
594 @@ -409,8 +432,8 @@
595 nkpod->jiffies + nkpod->htimer.interval;
596 continue;
597 }
598 - } else
599 - __setbits(sched->status, XNHTICK);
600 + } else
601 + __setbits(sched->status, XNHTICK);
602
603 xntlholder_date(&timer->plink) =
604 nkpod->jiffies + timer->interval;
605 diff -Naur xenomai-2.2.3/src/skins/native/libnative_la-alarm.loT xenomai-2.2.3-good/src/skins/native/libnative_la-alarm.loT
606 --- xenomai-2.2.3/src/skins/native/libnative_la-alarm.loT 1969-12-31 19:00:00.000000000 -0500
607 +++ xenomai-2.2.3-good/src/skins/native/libnative_la-alarm.loT 2006-12-07 11:09:26.000000000 -0500
608 @@ -0,0 +1,7 @@
609 +# libnative_la-alarm.lo - a libtool object file
610 +# Generated by ltmain.sh - GNU libtool 1.5.6 (1.1220.2.95 2004/04/11 05:50:42) Debian: 224 $
611 +#
612 +# Please DO NOT delete this file!
613 +# It is necessary for linking the library.
614 +
615 +# Name of the PIC object.
This page took 0.040828 seconds and 4 git commands to generate.