mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* intel efi system too slow
@ 2017-10-18 10:13 Giorgio Dal Molin
  2017-10-18 13:06 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Giorgio Dal Molin @ 2017-10-18 10:13 UTC (permalink / raw)
  To: barebox

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

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: intel efi system too slow
  2017-10-18 10:13 intel efi system too slow Giorgio Dal Molin
@ 2017-10-18 13:06 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2017-10-18 13:06 UTC (permalink / raw)
  To: Giorgio Dal Molin; +Cc: barebox

Hi Giorgio,

On Wed, Oct 18, 2017 at 12:13:16PM +0200, Giorgio Dal Molin wrote:
> 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.

Yes, this can be a reason why the system feels slow. a timer frequency
of 50Hz means that the smallest delay barebox can do is 1/50s. This
means that even a udelay(1) will take 20ms.
Try disabling CLOCKSOURCE_EFI (which should be the default in
efi_defconfig). barebox should than use the X86 TSC as clocksource
instead.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-10-18 13:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-18 10:13 intel efi system too slow Giorgio Dal Molin
2017-10-18 13:06 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox