This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Scheduler/DSR


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]