intel efi system too slow

Giorgio Dal Molin giorgio.nicole at arcor.de
Wed Oct 18 03:13:16 PDT 2017


Hi,

I'm working on an embedded system with an intel CPU (atom).

I've built a barebox from the current master (v2017.10.0) and it
runs and can actually boot a kernel.

Nevertheless I think the bootloader is very slow, for example when
reading or writing files to the disk (an industrial CFastCard). 

After the kernel starts the system becomes fast 'es expected'.

While barebox starts up I noticed the following line on the console:

...
EFI Event timer too slow freq = 50 Hz
...

I found the warning in the source file 'drivers/clocksource/efi.c':

static int efi_cs_init(struct clocksource *cs)
{
	efi_status_t efiret;
	uint64_t freq;
...
	freq = 1000 * 1000;
	if (ticks_freq() < 800 * 1000) {
		uint64_t nb_100ns;

		freq = ticks_freq_x86();
		if (freq == 0) {
			BS->close_event(efi_cs_evt);
			return -ENODEV;
		}
		nb_100ns = 10 * 1000 * 1000 / freq;
		pr_warn("EFI Event timer too slow freq = %llu Hz\n", freq);
		efiret = BS->set_timer(efi_cs_evt, EFI_TIMER_PERIODIC, nb_100ns);
		if (EFI_ERROR(efiret)) {
			BS->close_event(efi_cs_evt);
			return -efi_errno(efiret);
		}
	}
...
}

Can this be a possible reason for a too slow system or is it 'OK'
to see this warning.

I don't really know where I should start searching for a possible
problem or system misconfiguration.

giorgio



More information about the barebox mailing list