Hi,

I've been busy on other tasks therefore haven't obtained a oscilloscope
trace yet, but one of my peers have performed some profiling on a different
micro and non-secure core, with the mxrt1064-evk:nsh configuration +
tickless and 100us tick rate:

nsh> dd if=/dev/zero of=/dev/null bs=4096 count=100 409600 bytes copied,
2200 usec, 181818 KB/s nsh> mkrd -m 1 -s 512 1024 nsh> mkfatfs /dev/ram1
nsh> mount -t vfat /dev/ram1 /mnt nsh> dd if=/dev/zero of=/dev/null bs=4096
count=100 409600 bytes copied, 2200 usec, 181818 KB/s nsh> dd if=/dev/zero
of=/mnt/t bs=4096 count=100 409600 bytes copied, 4700 usec, 85106 KB/s nsh>
umount /mnt nsh> mkfatfs /dev/mmcsd0 nsh> mount -t vfat /dev/mmcsd0 /mnt
nsh> dd if=/dev/zero of=/mnt/t bs=4096 count=100 409600 bytes copied,
959000 usec, 417 KB/s nsh> dd if=/dev/zero of=/dev/sd0 bs=4096 count=100
409600 bytes copied, 361400 usec, 1106 KB/s

As observed, the raw speed for the RAM based block device is 181 M/S,
through vfat on a ramdisk is 85 M/S and 0.5M/S with SD (Class 4). The raw
speed using the BCH device (sd0) is 1M/s.




On Fri, 2 Jun 2023 at 05:18, Gregory Nutt <spudan...@gmail.com> wrote:

>
> > That would help when tickless mode is used. But what about tickful mode?
> I
> > guess the intent of 7312a553b was to avoid wasting processor cycles on
> busy
> > waiting, but if tickless isn't being used, perhaps busy waiting is
> > necessary here? It could choose between the two wait types at compile
> time
> > based on tickless mode.
> In "tickful" mode, you could increase the timer frequency to improve
> resolution.  At 1000 Hz things run pretty well too.  But at some point,
> however, the interrupt processing overhead becomes prohibitive.
> > Or a bigger question: if tickless mode is "better" (longer battery life,
> > fewer unnecessary interrupts, more processor cycles for real work) why
> > aren't we always using tickless mode? Are there limitations/bugs that
> make
> > it unsuitable in some situations? Not universally supported on all
> > microprocessors? Other reasons?
>
> It does rely on an available high resolution timer and, so, uses
> resources that not all MCUs may have.  It would also take a substantial
> effort to convert all existing architectures to support tickless.
>
> But the real reason is that tickless mode was experimental and not
> supported on all platforms on initial release and also not well
> trusted.  But I think it is well trusted these days and could be the
> standard.
>
> I am not opposed to the idea at all.  I do like the "tickful" mode for
> MCU bringup because it is a lot simpler.  Tickless support can be added
> later when the port is stable.
>
>
>

Reply via email to