This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Scheduler/DSR
- From: Andy Atkinson <andya at hydrix dot com>
- To: ecos-discuss at sources dot redhat dot com
- Date: 16 Feb 2005 14:56:20 +1100
- Subject: [ECOS] Scheduler/DSR
- Organization:
Hi All,
I have a problem where my system clock DSR is no longer being scheduler
for execution, and hence my application is hanging. Could you please
take a look at the following instrument log snippet and I shall try to
explain what I think it is showing:
Ok, we start with an interrupt (vector 0x1A) and this is our system
clock. The sequence appears to correct, and we get through to
CLOCK_TICK_END, INTR_RESTORE, etc. Next there is a whole load of
scheduler and mutex locks/unlocks as JFFS does its stuff (quite what it
is doing I am not really sure - any takers???).
The next system clock interrupt occurs at event 555. This time the ISR
is called and handled and the DSR is posted. Execution of the DSR begins
as is shown by CLOCK_TICK_START (also, USER_14 is inside the 'tick'
routine in clock.cxx). That's the last we see of the DSR - it never
seems to finsish. Whatever JFFS is doing it continues quite happily and
we still get system clock interrupts (next one at event 643), but alas
no DSR is executed.
What I do not understand is why the DSR is not executing to completion.
As I understand it, if the a DSR is elegible to run, it will run to
completion. The DSR is begining to execute just never completing.
The application is very simple : 1 thread which streams data over a
serial line and into JFFS. It fails at seemingly random points during a
file transfer. Sometimes a few KB other times hunderds of KB through the
transfer. (Also, if anyone can shed any light on just what on earth JFFS
is doing here, that would also be good!!).
Hopefully someone can give me some new ideas/fixes.
Best Regards
403 SCHED_ZERO_LOCK 2 36074 0x0 0x0
404 SCHED_LOCK_VSR 2 36983 0x1 0x0
405 INTR_RAISE 2 37075 0x1A 0x0
406 USER_11 2 37162 0x70FEA386 0xAAAAAAAA
407 CLOCK_ISR 2 37191 0x0 0x0
408 INTR_ACK 2 46 0x1A 0x0
409 INTR_END 2 173 0x1A 0x3
410 INTR_POST_DSR 2 227 0x1A 0x0
411 USER_13 2 418 0x70FEA560 0xBBBBBBBB
412 USER_12 2 444 0x1 0xBBBBBBBB
413 CLOCK_TICK_START 2 543 0xC76A 0x0
414 USER_14 2 592 0xCCCCCCCC 0xCCCCCCCC
415 SCHED_INC_LOCK 2 653 0x2 0x0
416 SCHED_SET_LOCK 2 937 0x1 0x1
417 USER_15 2 967 0xDDDDDDDD 0xDDDDDDDD
418 CLOCK_TICK_END 2 1022 0xC76B 0x0
419 SCHED_ZERO_LOCK 2 1064 0x0 0x0
420 INTR_RESTORE 2 1096 0x1A 0x0
421 SCHED_INC_LOCK 2 1258 0x1 0x0
422 MUTEX_UNLOCK 2 1285 0xDED58 0x0
423 SCHED_ZERO_LOCK 2 1581 0x0 0x0
424 SCHED_INC_LOCK 2 1637 0x1 0x0
425 MUTEX_UNLOCK 2 1658 0xDE060 0x0
426 SCHED_ZERO_LOCK 2 1715 0x0 0x0
427 SCHED_INC_LOCK 2 1987 0x1 0x0
428 MUTEX_UNLOCK 2 2007 0xDD844 0x0
429 SCHED_ZERO_LOCK 2 2072 0x0 0x0
430 SCHED_INC_LOCK 2 2137 0x1 0x0
431 MUTEX_LOCK 2 2188 0xDD7F4 0x0
432 MUTEX_LOCKED 2 2263 0xDD7F4 0x0
433 SCHED_ZERO_LOCK 2 2308 0x0 0x0
434 SCHED_INC_LOCK 2 2380 0x1 0x0
435 MUTEX_UNLOCK 2 2401 0xDD7F4 0x0
436 SCHED_ZERO_LOCK 2 2458 0x0 0x0
437 SCHED_INC_LOCK 2 2658 0x1 0x0
438 SCHED_ZERO_LOCK 2 2696 0x0 0x0
439 SCHED_INC_LOCK 2 2914 0x1 0x0
440 MUTEX_LOCK 2 2938 0xDD7F4 0x0
441 MUTEX_LOCKED 2 2961 0xDD7F4 0x0
442 SCHED_ZERO_LOCK 2 2998 0x0 0x0
443 SCHED_INC_LOCK 2 3047 0x1 0x0
444 MUTEX_UNLOCK 2 3068 0xDD7F4 0x0
445 SCHED_ZERO_LOCK 2 3125 0x0 0x0
446 SCHED_INC_LOCK 2 3254 0x1 0x0
447 MUTEX_LOCK 2 3278 0xDD844 0x0
448 MUTEX_LOCKED 2 3301 0xDD844 0x0
449 SCHED_ZERO_LOCK 2 3339 0x0 0x0
450 SCHED_INC_LOCK 2 3399 0x1 0x0
451 MUTEX_UNLOCK 2 3419 0xDD844 0x0
452 SCHED_ZERO_LOCK 2 3477 0x0 0x0
453 SCHED_INC_LOCK 2 3507 0x1 0x0
454 MUTEX_LOCK 2 3531 0xDD7F4 0x0
455 MUTEX_LOCKED 2 3554 0xDD7F4 0x0
456 SCHED_ZERO_LOCK 2 3591 0x0 0x0
457 SCHED_INC_LOCK 2 3624 0x1 0x0
458 MUTEX_UNLOCK 2 3644 0xDD7F4 0x0
459 SCHED_ZERO_LOCK 2 3702 0x0 0x0
460 SCHED_INC_LOCK 2 3745 0x1 0x0
461 SCHED_ZERO_LOCK 2 3784 0x0 0x0
462 SCHED_INC_LOCK 2 4697 0x1 0x0
463 MUTEX_LOCK 2 4721 0xDD7F4 0x0
464 MUTEX_LOCKED 2 4743 0xDD7F4 0x0
465 SCHED_ZERO_LOCK 2 4781 0x0 0x0
466 SCHED_INC_LOCK 2 4813 0x1 0x0
467 MUTEX_UNLOCK 2 4833 0xDD7F4 0x0
468 SCHED_ZERO_LOCK 2 4891 0x0 0x0
469 SCHED_INC_LOCK 2 4970 0x1 0x0
470 MUTEX_LOCK 2 4994 0xDD844 0x0
471 MUTEX_LOCKED 2 5017 0xDD844 0x0
472 SCHED_ZERO_LOCK 2 5055 0x0 0x0
473 SCHED_INC_LOCK 2 5393 0x1 0x0
474 SCHED_ZERO_LOCK 2 5492 0x0 0x0
475 SCHED_INC_LOCK 2 5626 0x1 0x0
476 MUTEX_LOCK 2 5650 0xDE060 0x0
477 MUTEX_LOCKED 2 5673 0xDE060 0x0
478 SCHED_ZERO_LOCK 2 5710 0x0 0x0
479 SCHED_INC_LOCK 2 5849 0x1 0x0
480 MUTEX_LOCK 2 5873 0xDED58 0x0
481 MUTEX_LOCKED 2 5895 0xDED58 0x0
482 SCHED_ZERO_LOCK 2 5933 0x0 0x0
483 SCHED_INC_LOCK 2 7099 0x1 0x0
484 SCHED_ZERO_LOCK 2 7188 0x0 0x0
485 SCHED_INC_LOCK 2 7245 0x1 0x0
486 SCHED_ZERO_LOCK 2 7317 0x0 0x0
487 SCHED_INC_LOCK 2 28502 0x1 0x0
488 SCHED_ZERO_LOCK 2 29387 0x0 0x0
489 SCHED_INC_LOCK 2 30291 0x1 0x0
490 MUTEX_UNLOCK 2 30325 0xDED58 0x0
491 SCHED_ZERO_LOCK 2 30621 0x0 0x0
492 SCHED_INC_LOCK 2 30677 0x1 0x0
493 MUTEX_UNLOCK 2 30697 0xDE060 0x0
494 SCHED_ZERO_LOCK 2 30755 0x0 0x0
495 SCHED_INC_LOCK 2 31027 0x1 0x0
496 MUTEX_UNLOCK 2 31047 0xDD844 0x0
497 SCHED_ZERO_LOCK 2 31112 0x0 0x0
498 SCHED_INC_LOCK 2 31177 0x1 0x0
499 MUTEX_LOCK 2 31228 0xDD7F4 0x0
500 MUTEX_LOCKED 2 31303 0xDD7F4 0x0
501 SCHED_ZERO_LOCK 2 31347 0x0 0x0
502 SCHED_INC_LOCK 2 31420 0x1 0x0
503 MUTEX_UNLOCK 2 31440 0xDD7F4 0x0
504 SCHED_ZERO_LOCK 2 31498 0x0 0x0
505 SCHED_INC_LOCK 2 31697 0x1 0x0
506 SCHED_ZERO_LOCK 2 31736 0x0 0x0
507 SCHED_INC_LOCK 2 31954 0x1 0x0
508 MUTEX_LOCK 2 31978 0xDD7F4 0x0
509 MUTEX_LOCKED 2 32000 0xDD7F4 0x0
510 SCHED_ZERO_LOCK 2 32038 0x0 0x0
511 SCHED_INC_LOCK 2 32087 0x1 0x0
512 MUTEX_UNLOCK 2 32107 0xDD7F4 0x0
513 SCHED_ZERO_LOCK 2 32165 0x0 0x0
514 SCHED_INC_LOCK 2 32294 0x1 0x0
515 MUTEX_LOCK 2 32318 0xDD844 0x0
516 MUTEX_LOCKED 2 32341 0xDD844 0x0
517 SCHED_ZERO_LOCK 2 32378 0x0 0x0
518 SCHED_INC_LOCK 2 32439 0x1 0x0
519 MUTEX_UNLOCK 2 32459 0xDD844 0x0
520 SCHED_ZERO_LOCK 2 32517 0x0 0x0
521 SCHED_INC_LOCK 2 32547 0x1 0x0
522 MUTEX_LOCK 2 32571 0xDD7F4 0x0
523 MUTEX_LOCKED 2 32594 0xDD7F4 0x0
524 SCHED_ZERO_LOCK 2 32631 0x0 0x0
525 SCHED_INC_LOCK 2 32664 0x1 0x0
526 MUTEX_UNLOCK 2 32684 0xDD7F4 0x0
527 SCHED_ZERO_LOCK 2 32742 0x0 0x0
528 SCHED_INC_LOCK 2 32785 0x1 0x0
529 SCHED_ZERO_LOCK 2 32823 0x0 0x0
530 SCHED_INC_LOCK 2 33736 0x1 0x0
531 MUTEX_LOCK 2 33760 0xDD7F4 0x0
532 MUTEX_LOCKED 2 33783 0xDD7F4 0x0
533 SCHED_ZERO_LOCK 2 33821 0x0 0x0
534 SCHED_INC_LOCK 2 33852 0x1 0x0
535 MUTEX_UNLOCK 2 33873 0xDD7F4 0x0
536 SCHED_ZERO_LOCK 2 33930 0x0 0x0
537 SCHED_INC_LOCK 2 34010 0x1 0x0
538 MUTEX_LOCK 2 34034 0xDD844 0x0
539 MUTEX_LOCKED 2 34057 0xDD844 0x0
540 SCHED_ZERO_LOCK 2 34095 0x0 0x0
541 SCHED_INC_LOCK 2 34433 0x1 0x0
542 SCHED_ZERO_LOCK 2 34532 0x0 0x0
543 SCHED_INC_LOCK 2 34666 0x1 0x0
544 MUTEX_LOCK 2 34690 0xDE060 0x0
545 MUTEX_LOCKED 2 34712 0xDE060 0x0
546 SCHED_ZERO_LOCK 2 34750 0x0 0x0
547 SCHED_INC_LOCK 2 34888 0x1 0x0
548 MUTEX_LOCK 2 34912 0xDED58 0x0
549 MUTEX_LOCKED 2 34935 0xDED58 0x0
550 SCHED_ZERO_LOCK 2 34973 0x0 0x0
551 SCHED_INC_LOCK 2 36139 0x1 0x0
552 SCHED_ZERO_LOCK 2 36227 0x0 0x0
553 SCHED_INC_LOCK 2 36284 0x1 0x0
554 SCHED_ZERO_LOCK 2 36358 0x0 0x0
555 SCHED_LOCK_VSR 2 36995 0x1 0x0
556 INTR_RAISE 2 37087 0x1A 0x0
557 USER_11 2 37174 0x70FF34F2 0xAAAAAAAA
558 CLOCK_ISR 2 37196 0x0 0x0
559 INTR_ACK 2 45 0x1A 0x0
560 INTR_END 2 196 0x1A 0x3
561 INTR_POST_DSR 2 255 0x1A 0x0
562 USER_13 2 450 0x70FF36E5 0xBBBBBBBB
563 USER_12 2 476 0x1 0xBBBBBBBB
564 CLOCK_TICK_START 2 576 0xC76B 0x0
565 USER_14 2 625 0xCCCCCCCC 0xCCCCCCCC
566 SCHED_INC_LOCK 2 22874 0x3 0x0
567 SCHED_SET_LOCK 2 23562 0x2 0x2
568 SCHED_INC_LOCK 2 24503 0x3 0x0
569 MUTEX_UNLOCK 2 24537 0xDED58 0x0
570 SCHED_SET_LOCK 2 24834 0x2 0x2
571 SCHED_INC_LOCK 2 24888 0x3 0x0
572 MUTEX_UNLOCK 2 24909 0xDE060 0x0
573 SCHED_SET_LOCK 2 24954 0x2 0x2
574 SCHED_INC_LOCK 2 25224 0x3 0x0
575 MUTEX_UNLOCK 2 25244 0xDD844 0x0
576 SCHED_SET_LOCK 2 25297 0x2 0x2
577 SCHED_INC_LOCK 2 25359 0x3 0x0
578 MUTEX_LOCK 2 25410 0xDD7F4 0x0
579 MUTEX_LOCKED 2 25485 0xDD7F4 0x0
580 SCHED_SET_LOCK 2 25518 0x2 0x2
581 SCHED_INC_LOCK 2 25588 0x3 0x0
582 MUTEX_UNLOCK 2 25608 0xDD7F4 0x0
583 SCHED_SET_LOCK 2 25654 0x2 0x2
584 SCHED_INC_LOCK 2 25858 0x3 0x0
585 SCHED_SET_LOCK 2 25884 0x2 0x2
586 SCHED_INC_LOCK 2 26099 0x3 0x0
587 MUTEX_LOCK 2 26123 0xDD7F4 0x0
588 MUTEX_LOCKED 2 26146 0xDD7F4 0x0
589 SCHED_SET_LOCK 2 26172 0x2 0x2
590 SCHED_INC_LOCK 2 26218 0x3 0x0
591 MUTEX_UNLOCK 2 26239 0xDD7F4 0x0
592 SCHED_SET_LOCK 2 26285 0x2 0x2
593 SCHED_INC_LOCK 2 26411 0x3 0x0
594 MUTEX_LOCK 2 26435 0xDD844 0x0
595 MUTEX_LOCKED 2 26458 0xDD844 0x0
596 SCHED_SET_LOCK 2 26483 0x2 0x2
597 SCHED_INC_LOCK 2 26541 0x3 0x0
598 MUTEX_UNLOCK 2 26562 0xDD844 0x0
599 SCHED_SET_LOCK 2 26607 0x2 0x2
600 SCHED_INC_LOCK 2 26635 0x3 0x0
601 MUTEX_LOCK 2 26659 0xDD7F4 0x0
602 MUTEX_LOCKED 2 26682 0xDD7F4 0x0
603 SCHED_SET_LOCK 2 26707 0x2 0x2
604 SCHED_INC_LOCK 2 26737 0x3 0x0
605 MUTEX_UNLOCK 2 26758 0xDD7F4 0x0
606 SCHED_SET_LOCK 2 26803 0x2 0x2
607 SCHED_INC_LOCK 2 26844 0x3 0x0
608 SCHED_SET_LOCK 2 26870 0x2 0x2
609 SCHED_INC_LOCK 2 27781 0x3 0x0
610 MUTEX_LOCK 2 27805 0xDD7F4 0x0
611 MUTEX_LOCKED 2 27827 0xDD7F4 0x0
612 SCHED_SET_LOCK 2 27853 0x2 0x2
613 SCHED_INC_LOCK 2 27882 0x3 0x0
614 MUTEX_UNLOCK 2 27903 0xDD7F4 0x0
615 SCHED_SET_LOCK 2 27949 0x2 0x2
616 SCHED_INC_LOCK 2 28026 0x3 0x0
617 MUTEX_LOCK 2 28050 0xDD844 0x0
618 MUTEX_LOCKED 2 28073 0xDD844 0x0
619 SCHED_SET_LOCK 2 28098 0x2 0x2
620 SCHED_INC_LOCK 2 28434 0x3 0x0
621 SCHED_SET_LOCK 2 28521 0x2 0x2
622 SCHED_INC_LOCK 2 28652 0x3 0x0
623 MUTEX_LOCK 2 28676 0xDE060 0x0
624 MUTEX_LOCKED 2 28699 0xDE060 0x0
625 SCHED_SET_LOCK 2 28725 0x2 0x2
626 SCHED_INC_LOCK 2 28861 0x3 0x0
627 MUTEX_LOCK 2 28885 0xDED58 0x0
628 MUTEX_LOCKED 2 28907 0xDED58 0x0
629 SCHED_SET_LOCK 2 28933 0x2 0x2
630 SCHED_INC_LOCK 2 30097 0x3 0x0
631 SCHED_SET_LOCK 2 30173 0x2 0x2
632 SCHED_INC_LOCK 2 30228 0x3 0x0
633 SCHED_SET_LOCK 2 30288 0x2 0x2
634 SCHED_LOCK_VSR 2 40898 0x3 0x0
635 INTR_RAISE 2 41178 0x1A 0x0
636 USER_11 2 41368 0x70FFD674 0xAAAAAAAA
637 CLOCK_ISR 2 41516 0x0 0x0
638 INTR_ACK 2 145 0x1A 0x0
639 INTR_END 2 432 0x1A 0x3
640 INTR_POST_DSR 2 627 0x1A 0x0
641 SCHED_SET_LOCK 2 1008 0x2 0x2
642 INTR_RESTORE 2 1198 0x1A 0x0
643 SCHED_INC_LOCK 2 12353 0x3 0x0
644 SCHED_SET_LOCK 2 13041 0x2 0x2
--
=================================
Andy Atkinson
Software Engineer
Hydrix Pty Ltd.
1044A Dandenong Rd,
Carnegie, VIC, 3146,
Melbourne,
Australia
Phone : +61 3 9572 0686, Ext. 114
Fax : +61 3 9572 2686
Email : andya@hydrix.com
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss