Public bug reported:

On Jammy, running 'oslat --cpu-list 2-7 --rtprio 1 --duration 600 -q' shows the 
following error on arm64:
This architecture is not yet supported. Please implement frc() function first 
for oslat.

And the program stops.

It looks like the first version of upstream rt-tests which supports
oslat on arm64 is version v2.3:

benjamin@benjamin-desktop-fedora ~/w/rt-tests (main)> git show --no-patch 
7d42e803
commit 7d42e803ec498595850b6f52f57475fba81e1fa0
Author: Nicolas Saenz Julienne <[email protected]>
Date:   Mon Sep 13 10:39:07 2021 +0200

    oslat: Add aarch64 support

    The callbacks are based on Linux's implementation:
     - CNTVCT_EL0 provides direct access to the system virtual timer[1].
     - 'yield' serves as a CPU hint with similar semantics as x86's
       'pause'[2].

    In contrast with the kernel's implementation, there isn't a need for
    isb() after reading CNTVCT_EL0,  this is only needed in-kernel as the
    register read has to be ordered with a subsequent locking operation.

    [1] See Linux's '__arch_get_hw_counter()' in 
arch/arm64/include/asm/vdso/gettimeofday.h
    [2] See Linux's 1baa82f4803 ("arm64: Implement cpu_relax as yield").
    Signed-off-by: Nicolas Saenz Julienne <[email protected]>
    --

    Changes since v1:
     - Code cleanup
     - Add compiler barriers

     src/oslat/oslat.c | 13 +++++++++++++
     1 file changed, 13 insertions(+)

    Reviewed-by: Peter Xu <[email protected]>
    Signed-off-by: John Kacur <[email protected]>
benjamin@benjamin-desktop-fedora ~/w/rt-tests (main)> git tag --contains 
7d42e803
delete
v2.3
v2.4
v2.5
v2.6
v2.7
v2.8
v2.9

** Affects: rt-tests (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: rt-tests (Ubuntu Jammy)
     Importance: Undecided
         Status: New

** Also affects: rt-tests (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** Description changed:

- Running 'oslat --cpu-list 2-7 --rtprio 1 --duration 600 -q' shows the 
following error on arm64:
+ On Jammy, running 'oslat --cpu-list 2-7 --rtprio 1 --duration 600 -q' shows 
the following error on arm64:
  This architecture is not yet supported. Please implement frc() function first 
for oslat.
  
  And the program stops.
  
  It looks like the first version of rt-tests which supports oslat on
  arm64 is version v2.3:
  
  benjamin@benjamin-desktop-fedora ~/w/rt-tests (main)> git show --no-patch 
7d42e803
  commit 7d42e803ec498595850b6f52f57475fba81e1fa0
  Author: Nicolas Saenz Julienne <[email protected]>
  Date:   Mon Sep 13 10:39:07 2021 +0200
  
-     oslat: Add aarch64 support
-     
-     The callbacks are based on Linux's implementation:
-      - CNTVCT_EL0 provides direct access to the system virtual timer[1].
-      - 'yield' serves as a CPU hint with similar semantics as x86's
-        'pause'[2].
-     
-     In contrast with the kernel's implementation, there isn't a need for
-     isb() after reading CNTVCT_EL0,  this is only needed in-kernel as the
-     register read has to be ordered with a subsequent locking operation.
-     
-     [1] See Linux's '__arch_get_hw_counter()' in 
arch/arm64/include/asm/vdso/gettimeofday.h
-     [2] See Linux's 1baa82f4803 ("arm64: Implement cpu_relax as yield").
-     Signed-off-by: Nicolas Saenz Julienne <[email protected]>
-     --
-     
-     Changes since v1:
-      - Code cleanup
-      - Add compiler barriers
-     
-      src/oslat/oslat.c | 13 +++++++++++++
-      1 file changed, 13 insertions(+)
-     
-     Reviewed-by: Peter Xu <[email protected]>
-     Signed-off-by: John Kacur <[email protected]>
+     oslat: Add aarch64 support
+ 
+     The callbacks are based on Linux's implementation:
+      - CNTVCT_EL0 provides direct access to the system virtual timer[1].
+      - 'yield' serves as a CPU hint with similar semantics as x86's
+        'pause'[2].
+ 
+     In contrast with the kernel's implementation, there isn't a need for
+     isb() after reading CNTVCT_EL0,  this is only needed in-kernel as the
+     register read has to be ordered with a subsequent locking operation.
+ 
+     [1] See Linux's '__arch_get_hw_counter()' in 
arch/arm64/include/asm/vdso/gettimeofday.h
+     [2] See Linux's 1baa82f4803 ("arm64: Implement cpu_relax as yield").
+     Signed-off-by: Nicolas Saenz Julienne <[email protected]>
+     --
+ 
+     Changes since v1:
+      - Code cleanup
+      - Add compiler barriers
+ 
+      src/oslat/oslat.c | 13 +++++++++++++
+      1 file changed, 13 insertions(+)
+ 
+     Reviewed-by: Peter Xu <[email protected]>
+     Signed-off-by: John Kacur <[email protected]>
  benjamin@benjamin-desktop-fedora ~/w/rt-tests (main)> git tag --contains 
7d42e803
  delete
  v2.3
  v2.4
  v2.5
  v2.6
  v2.7
  v2.8
  v2.9

** Summary changed:

- oslat unsupported on arm64
+ oslat unsupported on arm64 on jammy

** Description changed:

  On Jammy, running 'oslat --cpu-list 2-7 --rtprio 1 --duration 600 -q' shows 
the following error on arm64:
  This architecture is not yet supported. Please implement frc() function first 
for oslat.
  
  And the program stops.
  
- It looks like the first version of rt-tests which supports oslat on
- arm64 is version v2.3:
+ It looks like the first version of upstream rt-tests which supports
+ oslat on arm64 is version v2.3:
  
  benjamin@benjamin-desktop-fedora ~/w/rt-tests (main)> git show --no-patch 
7d42e803
  commit 7d42e803ec498595850b6f52f57475fba81e1fa0
  Author: Nicolas Saenz Julienne <[email protected]>
  Date:   Mon Sep 13 10:39:07 2021 +0200
  
      oslat: Add aarch64 support
  
      The callbacks are based on Linux's implementation:
       - CNTVCT_EL0 provides direct access to the system virtual timer[1].
       - 'yield' serves as a CPU hint with similar semantics as x86's
         'pause'[2].
  
      In contrast with the kernel's implementation, there isn't a need for
      isb() after reading CNTVCT_EL0,  this is only needed in-kernel as the
      register read has to be ordered with a subsequent locking operation.
  
      [1] See Linux's '__arch_get_hw_counter()' in 
arch/arm64/include/asm/vdso/gettimeofday.h
      [2] See Linux's 1baa82f4803 ("arm64: Implement cpu_relax as yield").
      Signed-off-by: Nicolas Saenz Julienne <[email protected]>
      --
  
      Changes since v1:
       - Code cleanup
       - Add compiler barriers
  
       src/oslat/oslat.c | 13 +++++++++++++
       1 file changed, 13 insertions(+)
  
      Reviewed-by: Peter Xu <[email protected]>
      Signed-off-by: John Kacur <[email protected]>
  benjamin@benjamin-desktop-fedora ~/w/rt-tests (main)> git tag --contains 
7d42e803
  delete
  v2.3
  v2.4
  v2.5
  v2.6
  v2.7
  v2.8
  v2.9

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2119677

Title:
  oslat unsupported on arm64 on jammy

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rt-tests/+bug/2119677/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to