Jump to content

kristsm

Members
  • Posts

    8
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thanks Igor! After AUFS disabled, the compiler threw at me another error regarding NFS, disabled that too and was greeted with completed build. Flashed the image in 64gb sd-card and after boot uname -a greeted me with the message: Linux orangepizeroplus 5.4.24-rt13-sunxi64 #trunk SMP PREEMPT_RT Wed Mar 11 07:28:42 EET 2020 aarch64 aarch64 aarch64 GNU/Linux cyclic test results with all cores running in performance mode (no mods for ISOLCPUS): sudo cyclictest -a -t -n -p80 # /dev/cpu_dma_latency set to 0us policy: fifo: loadavg: 0.96 0.85 0.57 1/165 3526 T: 0 ( 3518) P:80 I:1000 C: 161625 Min: 7 Act: 10 Avg: 10 Max: 49 T: 1 ( 3519) P:80 I:1500 C: 107750 Min: 7 Act: 14 Avg: 11 Max: 49 T: 2 ( 3520) P:80 I:2000 C: 80812 Min: 7 Act: 10 Avg: 10 Max: 35 T: 3 ( 3521) P:80 I:2500 C: 64650 Min: 8 Act: 10 Avg: 10 Max: 25
  2. Thanks! Ok, log file shows following errors: fs/aufs/i_op.c: In function ‘au_pin_hdir_set_owner’: fs/aufs/i_op.c:636:45: error: ‘struct rw_semaphore’ has no member named ‘owner’ atomic_long_set(&p->hdir->hi_inode->i_rwsem.owner, (long)task); ^ make[2]: *** [fs/aufs/i_op.o] Error 1 make[1]: *** [fs/aufs] Error 2 make: *** [fs] Error 2 make: *** Waiting for unfinished jobs.... scripts/Makefile.build:265: recipe for target 'fs/aufs/i_op.o' scripts/Makefile.build:500: recipe for target 'fs/aufs' failed Makefile:1692: recipe for target 'fs' failed
  3. Tried to build Armbian Bionic today with sunxi-current ( I see the compiler have included patch 5.4.23-24 as of today, which seems the kernel should be @5.4.24?). I moved 5.4.24 rt15 patch in userpatches/kernel/sunxi-current. In kernel configuration I checked expert menu , which allowed me to choose fully preemptible kernel. The compiler goes until CC [M] kernel/kheaders.o, then it throws [error] ERROR in function compile_kernel [ compilation.sh: 378] and terminates the process. Any tips on how to move further?
  4. Curious as to why you waste your time if you don't want to help?
  5. And what exactly should I look for? Both (x86 & arm64) have: 1. /include/asm/preempt.h 2. select ARCH_SUPPORTS_RT 3. select HAVE_PREEMPT_LAZY Additionally , ARM64 have: - select ARCH_INLINE_READ_LOCK if !PREEMPT - select ARCH_INLINE_READ_LOCK_BH if !PREEMPT - select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPT - select ARCH_INLINE_READ_LOCK_IRQSAVE if !PREEMPT - select ARCH_INLINE_READ_UNLOCK if !PREEMPT - select ARCH_INLINE_READ_UNLOCK_BH if !PREEMPT - select ARCH_INLINE_READ_UNLOCK_IRQ if !PREEMPT - select ARCH_INLINE_READ_UNLOCK_IRQRESTORE if !PREEMPT - select ARCH_INLINE_WRITE_LOCK if !PREEMPT - select ARCH_INLINE_WRITE_LOCK_BH if !PREEMPT - select ARCH_INLINE_WRITE_LOCK_IRQ if !PREEMPT - select ARCH_INLINE_WRITE_LOCK_IRQSAVE if !PREEMPT - select ARCH_INLINE_WRITE_UNLOCK if !PREEMPT - select ARCH_INLINE_WRITE_UNLOCK_BH if !PREEMPT - select ARCH_INLINE_WRITE_UNLOCK_IRQ if !PREEMPT - select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE if !PREEMPT - select ARCH_INLINE_SPIN_TRYLOCK if !PREEMPT - select ARCH_INLINE_SPIN_TRYLOCK_BH if !PREEMPT - select ARCH_INLINE_SPIN_LOCK if !PREEMPT - select ARCH_INLINE_SPIN_LOCK_BH if !PREEMPT - select ARCH_INLINE_SPIN_LOCK_IRQ if !PREEMPT - select ARCH_INLINE_SPIN_LOCK_IRQSAVE if !PREEMPT - select ARCH_INLINE_SPIN_UNLOCK if !PREEMPT - select ARCH_INLINE_SPIN_UNLOCK_BH if !PREEMPT - select ARCH_INLINE_SPIN_UNLOCK_IRQ if !PREEMPT - select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPT + select ARCH_INLINE_READ_LOCK if !PREEMPTION + select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION + select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPTION + select ARCH_INLINE_READ_LOCK_IRQSAVE if !PREEMPTION + select ARCH_INLINE_READ_UNLOCK if !PREEMPTION + select ARCH_INLINE_READ_UNLOCK_BH if !PREEMPTION + select ARCH_INLINE_READ_UNLOCK_IRQ if !PREEMPTION + select ARCH_INLINE_READ_UNLOCK_IRQRESTORE if !PREEMPTION + select ARCH_INLINE_WRITE_LOCK if !PREEMPTION + select ARCH_INLINE_WRITE_LOCK_BH if !PREEMPTION + select ARCH_INLINE_WRITE_LOCK_IRQ if !PREEMPTION + select ARCH_INLINE_WRITE_LOCK_IRQSAVE if !PREEMPTION + select ARCH_INLINE_WRITE_UNLOCK if !PREEMPTION + select ARCH_INLINE_WRITE_UNLOCK_BH if !PREEMPTION + select ARCH_INLINE_WRITE_UNLOCK_IRQ if !PREEMPTION + select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE if !PREEMPTION + select ARCH_INLINE_SPIN_TRYLOCK if !PREEMPTION + select ARCH_INLINE_SPIN_TRYLOCK_BH if !PREEMPTION + select ARCH_INLINE_SPIN_LOCK if !PREEMPTION + select ARCH_INLINE_SPIN_LOCK_BH if !PREEMPTION + select ARCH_INLINE_SPIN_LOCK_IRQ if !PREEMPTION + select ARCH_INLINE_SPIN_LOCK_IRQSAVE if !PREEMPTION + select ARCH_INLINE_SPIN_UNLOCK if !PREEMPTION + select ARCH_INLINE_SPIN_UNLOCK_BH if !PREEMPTION + select ARCH_INLINE_SPIN_UNLOCK_IRQ if !PREEMPTION + select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPTION So what am I missing?
  6. MX_Master - thanks for the tip! How should I determine the last RT kernel patch version containing PREEMPT_RT Option for arm64? I am not an advanced programmer, but opening patch-5.4.22-rt I see there are configs for ARM64.... P.S. from packages.debian.org I also see there is a package with a name linux-image-5.4.0-4-rt-arm64-unsigned
  7. Sorry - 1000us+ was for MAX latency, not average. Krists
  8. Hi! I didn't find much info in the forum on how to correctly apply RT patch to the Armbian (Orange Pi Zero Plus H5 board). Here is how I did: Built Armbian as follows: 1) I downloaded patch-5.4.22-rt13.patch from https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.4/ and placed into ~/build/userpatches/kernel/sunxi-current ( I saw from the logs that this is the folder for the builder to search for user patches in my case) 2) Started ./compile.sh --> FULL OS image for flashing --> Show a kernel configuration menu before compilation --> orangepizeroplus (H5) as target board --> current (recommended , which is 5.4.23 as of today) --> bionic (18.04 LTS) --> standard image with console interface. 3) Build log shows: "[ o.k. ] * [c] patch-5.4.22-rt13.patch" So it seems the patch is included in the compilation. 4) In the kernel configuration screen I amended settings for low-latency kernel ( I chose the third item in the list which seems is full preemptive mode) Armbian build finishes without errors. The board starts fine, it shows Armbian 5.4.23-rt13 as the kernel version. uname -a shows that the kernel is in fact in the SMP PREEMPT mode. Now the problem is that any cyclictest with any configuration shows much worse AVG latency times compared to the system with standard Armbian 5.4.23 kernel. In most cases AVG latency times exceed 1000us , therefore its far-far away from the times I see in the forum for other systems using even the H3 chipset (sub 50us AVG latency tims is not that uncommon). What I did wrong, or what necessary/mandatory steps have I missed for having sub 50us AVG latency system? Thanks for any help in advance! Krists
×
×
  • Create New...