Jump to content

Bruno George de Moraes

Members
  • Posts

    7
  • Joined

  • Last visited

Recent Profile Visitors

1256 profile views
  1. Its not obvious, but the other name of HEVC is H.265; The real problem is no 10bit decoding is stated for any codec. So anyone has the bitdepth of the VE pipelines? If the pipes have more than 8bit, its possible. Maybe internal modules do not support more than 8bit for certain operations then a partial decode with some kind of colorspace conversion can narrow the gap. This one is difficult for other codecs, but HEVC spec actually has 14bitdepth internal sizes so the hardware could be sane enough and only the interfaces clip.
  2. Well, i know my results cannot be generalized without further samples (boards) and more testing for different workloads; /sys/kernel/debug/OPP/xxxxxxxxx/supply/ allows for a target, min and max voltages; Maybe an adaptive mechanism could be enabled if certain instructions are used or other situation ? Also, PSCI boot msg now reports that idle_states, need a "arm,psci-suspend-param = <0x0010000>;" to activate, but this default value from arm/psci.txt doesnt boot. The correct thing would be dump it from the firmware PSCI memory map, but for now i trying some other examples. Anyway cpu_standby (WFI, WFE) is different from cpu_suspend that need DT hierarchy, idle-states and so on. http://stackoverflow.com/questions/27188807/arm-sleep-mode-entry-and-exit-differences-wfe-wfi https://www.linaro.org/blog/core-dump/dont-waste-power-when-idle/
  3. So i had to increase 10 or 20mV (temps >35C were also critical to how much residuals were left at each run of the script ), but the strange thing is that 1344mhz+ crash at 1.4v This reminds me of the i7 SIMD overclock drops , in which some bioses let you specify an two OPPs, and drop the GHz when a simd instruction is used. Done testing stability: Frequency: 120000 Voltage: 860000 Success: 1 Result: 0.0048034 Frequency: 240000 Voltage: 870000 Success: 1 Result: 0.0048034 Frequency: 480000 Voltage: 890000 Success: 1 Result: 0.0048034 Frequency: 528000 Voltage: 890000 Success: 1 Result: 0.0048034 Frequency: 648000 Voltage: 900000 Success: 1 Result: 0.0048034 Frequency: 672000 Voltage: 910000 Success: 1 Result: 0.0048034 Frequency: 720000 Voltage: 930000 Success: 1 Result: 0.0048034 Frequency: 768000 Voltage: 950000 Success: 1 Result: 0.0048034 Frequency: 792000 Voltage: 960000 Success: 1 Result: 0.0048034 Frequency: 816000 Voltage: 970000 Success: 1 Result: 0.0048034 Frequency: 864000 Voltage: 990000 Success: 1 Result: 0.0048034 Frequency: 912000 Voltage: 1010000 Success: 1 Result: 0.0048034 Frequency: 936000 Voltage: 1020000 Success: 1 Result: 0.0048034 Frequency: 960000 Voltage: 1040000 Success: 1 Result: 0.0048034 Frequency: 1008000 Voltage: 1060000 Success: 1 Result: 0.0048034 Frequency: 1056000 Voltage: 1080000 Success: 1 Result: 0.0048034 Frequency: 1080000 Voltage: 1100000 Success: 1 Result: 0.0048034 Frequency: 1104000 Voltage: 1110000 Success: 1 Result: 0.0048034 Frequency: 1152000 Voltage: 1150000 Success: 1 Result: 0.0048034 Frequency: 1200000 Voltage: 1170000 Success: 1 Result: 0.0048034 Frequency: 1224000 Voltage: 1190000 Success: 1 Result: 0.0048034 Frequency: 1248000 Voltage: 1210000 Success: 1 Result: 0.0048034 Frequency: 1296000 Voltage: 1250000 Success: 1 Result: 0.0048034 OBS.: some OPP were fluctuating based on too lower ambient temperature for example: Frequency: 528000 Voltage: 890000 Success: 0 Result: 1.2494786 Frequency: 912000 Voltage: 1010000 Success: 0 Result: 1588658.6920996 but were never the same and increased mV doesnt matter. so there much to discover and test; This bench is nice but have some inplications and unexpected behaviors... Later
  4. Here, i dont have a Oscilloscope. But if that was the case were are the test points? Using openssl speed --multi 4 it completes all tests at 1440mhz@ 1270mV, (sudo cpufreq-info -w ) at idle (0.7 load) brief worked at 1584mhz@1390mV Any tips about how to confirm such results? Also, the card registration error msg in dmesg went away as soon as i added the next-level-cache info on DT. The above now is correctly populated. H5_undervolt.dts
  5. So still in the 5.25; The included tool crash/freeze if: stress --vm 3 I think the above is related to these error logs in dmesg: [ 282.381142] mpv[1665]: unhandled level 0 translation fault (11) at 0xfeff9cff74d0, esr 0x92000004 [ 306.562890] mpv[1617]: unhandled level 2 translation fault (11) at 0xaaaaecf81400, esr 0x92000006 [ 708.407845] armbianmonitor[3698]: unhandled level 1 translation fault (11) at 0x10041d980, esr 0x82000005 [ 713.432377] armbianmonitor[3705]: unhandled level 1 translation fault (11) at 0x10041d980, esr 0x82000005 [ 860.847920] mpv[4425]: unhandled level 2 translation fault (11) at 0xaaaaf04fcfe8, esr 0x92000006 [ 1189.200090] armbianmonitor[6270]: unhandled level 1 translation fault (11) at 0x12839da90, esr 0x92000005 [ 1189.880690] mpv/ao[5422]: unhandled level 0 translation fault (11) at 0x00000009, esr 0x92000004 [ 253.588471] BUG: Bad rss-counter state mm:ffff80003b80ce00 idx:1 val:2 [ 253.595109] BUG: non-zero nr_ptes on freeing mm: 1 [ 380.051367] stress[1203]: unhandled level 2 translation fault (11) at 0xffffa10ce0b4, esr 0x92000006 [ 408.767189] mpv[2546]: unhandled level 2 translation fault (11) at 0xaaaae1c921dc, esr 0x92000006 [ 431.082334] mpv[2713]: unhandled level 2 translation fault (11) at 0xfffffd84e2d5, esr 0x92000006 [ 602.551225] mpv/ao[3497]: unhandled level 2 translation fault (11) at 0xaaaaac7b63d0, esr 0x92000006 [ 814.051776] mpv[4892]: unhandled level 2 translation fault (11) at 0xaaaad8995250, esr 0x92000006 [ 855.928167] mpv[5156]: unhandled level 2 translation fault (11) at 0xffff403ca297, esr 0x92000006 [ 855.930359] mpv[5158]: unhandled level 2 translation fault (11) at 0xffffc0b4a2c6, esr 0x92000006 [ 855.930366] mpv[5155]: unhandled level 2 translation fault (11) at 0xfffff23ca2ca, esr 0x92000006 Linux kernel comment: "If the address is in kernel space (>= TASK_SIZE), then we are probably faulting in the vmalloc() area." Its is reproducible if i try to decode two 1080p files at the same time... (one of the instances will crash) NO cpu sleep: cat /sys/kernel/debug/suspend_stats is empty. Also confirmed by /sys/kernel/debug/opp/cpu#/OPP:*/ suspend = N I will try to create a correct DTB structure for these based on the latest presentation in Linux Plumbers. I ve done a bit of undervolt testing with my board to add info about the quality of the fab. for me the stabilityTest script failed to run because of excessive temps in a older image, so its is the motivation to try undervolt! For these i only used the included "stress tool", mpv and tweaking of ambient temperature (sensitive to low temps: works at 30C cool it down to 20C and see it crashing). Of course more testing is needed but throttle kicks at 70C and a cannot go above 76C even without heatsink or fan! Later will try the stability script again but the xhpl64 binary needs dependency; H5_undervolt.dts
  6. Finally had time to test nightly build (06/02); Its summer here in Brazil (Ambient temp 30 Celsius) Boot problems initally if any usb keyboard/mouse was connected. Successfully CPU decode 10bit, 720p files at fullscreen, but with scaler disabled (--video-unscaled); But strange thing: idle 1344MHz then as soon as 10s in video , throttle 1296MHz with temps at 42C; Htop usage never went above 320% so the 4 cores at ~75% utilization! Then temps never raised above 75C per armbianmonitor and a infrared meter at hand. StabilityTester script crashes at 1248MHz, tried 120Mhz cooling and 45C target, with no problems in rapid swing. Here, frequency above 1152Mhz sometimes went 86C; Also there is a problem with throttle, in which high temps lower the freq but the script increases the voltage. Even if the lower freq had passed the tests succesfully with good residuals. So a bigger voltage in a bigger freq brings too much heat and the processes loops or crashes. Detected throttle with "watch -n 1 cpufreq-info" look for frequency range change! There is a big change in achievable frequency in exercising float code paths or integer paths like my video decode workload. Manual 1368MHz crashed at loads > 0.9, even at 40C; My 2 cents are: There is a problem with idle states or cpuidle driver!!! add idle-states example: https://lkml.org/lkml/2016/7/6/148 Temps were too high at default; So i lowered min to 120MHz, pretty much usable and the governor correctly ramps up and lower without lag. (other people 240MHz recomendation) Also disable the desktop composition!!! Pulseaudio is broken! the pacmd list-sinks shows buffers to change when you tweak the daemon.conf buffer frag size; Best behavior was pura ALSA but even so, many bugs if i try to seek video. buffer errors a lot! dmesg show sun4i_codec has error with card registration. 1080 videos also slow even at 1296MHz; TV edid 1080p@50hz SWS scaler doesn't have NEON accel. so the scaler is too slow. For the DVFS, what is the step size on the voltage regulator?, maybe min regulator 940mV is too high! Also, for some frequencies just a 48MHz increment had 100mV++ as well. EDIT: 920mV lowers ~5% leakage I think the problem with the script could have increased some voltages at higher temp. Maybe a 10~25mV or 50mV increase per case. Of course if you are testing at 50C+, the noise is a problem and undervolt can crash, but is usually at (flip-flop) register hold-up times, not really setup-times. Thats why noise is a problem!
  7. Another OPi PC2 owner in a quest to help bring decent Linux to this board!!! My experience with the android image: ps.: wainting for other images...or trying to know how to build one! could play hi10p video full speed with garbage artefacts; HEVC 8bit low quality run well, 4k video formats with HDR dont play, only simple 3D games actually run so cannot comment on GPU besides polygons are shown; Most of the time thermal hotspot is in the microsd slot, the SoC runs warm with a low speed fan blowing above the board without heatsink. But at shutdown is cold in seconds! Runs pretty well in <= HDMI 720p 50/60/ but >1080p24 is slow to a crawl! Debug options for gpu or hardware overlay doesnt show any traces, so entire render is on cpu. Then load averages of ~4 to 10 is well within reason. Many crashes and memory kills even with 640 MB free memory. (were is GPU/VPU reserve? usually there is way less available memory) Stability checker gave 300MFlops, gpu run +50fps with some drops to 7fps. also i could copy 3 files named: tv_vfid.fex, disp_margin.fex, only 0 in both. disp_rsl.fex has: 20b 0 0 0
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines