[OSy] Kompilovanie testov
Petr Tuma
petr.tuma at mff.cuni.cz
Fri Nov 5 11:27:03 CET 2004
> Taky mi prijde optimalizace -O2 pomerne drasticka. Vcera jsem hledal bug,
> a s nejvyssi pravdepodobnosti se mi nasledujici kod:
> timer_start(&tmr);
> current->state = TS_SLEEP;
> while (!expired) {
> schedule();
> current->state = TS_SLEEP;
> }
> current->state = TS_RUN;
>
> prelozil na:
> timer_start(&tmr);
> while (!expired) {
> current->state = TS_SLEEP;
> schedule();
> }
> current->state = TS_RUN;
Predpokladam, ze funkce schedule prepina kontext ? Pokud ano, pak je
mozna vhodnejsi nekam do ni dat "volatile int foo; foo = 0;" nez davat
state jako volatile (pokud date state jako volatile, nemuzete si byt
jisty, jestli se podobna chyba neobjevi na jinem miste s jinou promennou).
Petr Tuma
More information about the NSWI004
mailing list