void tpl_call_counter_tick()
{
	tpl_status  need_rescheduling = NO_SPECIAL_CODE;
    need_rescheduling |= tpl_counter_tick(&descriptor_of_counter_counter100ms);

	if (need_rescheduling == NEED_RESCHEDULING) {
		tpl_schedule(FROM_IT_LEVEL);
    }
}
void tpl_call_counter_tick()
{
    tpl_status  need_rescheduling = NO_SPECIAL_CODE;
    need_rescheduling |= tpl_counter_tick(&General_counter_counter_desc);
    need_rescheduling |= tpl_counter_tick(&SystemCounter_counter_desc);


    if (need_rescheduling == NEED_RESCHEDULING)
    {
        tpl_schedule_from_running();
#ifndef WITH_SYSTEM_CALL
        if (tpl_kern.need_switch != NO_NEED_SWITCH) {
            tpl_switch_context_from_it(
                &(tpl_kern.s_old->context),
                &(tpl_kern.s_running->context)
            );
        }
#endif
    }
}