-
Notifications
You must be signed in to change notification settings - Fork 461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CR-1142391 - Programming xclbin immediately after xbutil reset fails on V70/VCK5000 #7150
Conversation
Build Failed! :( |
|
||
[Service] | ||
Type=forking | ||
User=softkernel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why did we remove the user?
@jeffli-xilinx , please review this change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rbramand-xilinx
Please keep User=softkernel
You can modify apu-boot and move all the lines that come after rpm-channel/ready to before the if statement.
Original:
if [ -e /sys/bus/platform/devices/rpu-channel/ready ]; then
echo 1 > /sys/bus/platform/devices/rpu-channel/ready
# Add softkernel user for PS kernel daemon to run as
useradd softkernel
# Work-around for AIE as it defaults root access only
chmod 666 /dev/aie0
# Create default xrt.ini
echo "# xrt.ini generated by apu-boot script" > /usr/bin/xrt.ini
echo "[Runtime]" >> /usr/bin/xrt.ini
echo "verbosity=5" >> /usr/bin/xrt.ini
echo "runtime_log=syslog" >> /usr/bin/xrt.ini
fi
Update:
# Add softkernel user for PS kernel daemon to run as
useradd softkernel
# Work-around for AIE as it defaults root access only
chmod 666 /dev/aie0
# Create default xrt.ini
echo "# xrt.ini generated by apu-boot script" > /usr/bin/xrt.ini
echo "[Runtime]" >> /usr/bin/xrt.ini
echo "verbosity=5" >> /usr/bin/xrt.ini
echo "runtime_log=syslog" >> /usr/bin/xrt.ini
if [ -e /sys/bus/platform/devices/rpu-channel/ready ]; then
echo 1 > /sys/bus/platform/devices/rpu-channel/ready
fi
…on V70/VCK5000 Signed-off-by: rbramand <[email protected]>
> Added init-apu service for doing initialization tasks > This service also creates softkernel user which is used to run skd. > Added changes to decide order in which services run > init-apu -> skd -> apu-boot Signed-off-by: rbramand <[email protected]>
Signed-off-by: rbramand <[email protected]>
Build Failed! :( |
retest this please |
Build Passed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some minor updates requested.
Thanks!
@@ -0,0 +1,34 @@ | |||
SUMMARY = "PS Kernel Daemon" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update the summary here.
Thanks!
[Service] | ||
ExecStart=/usr/bin/init-apu | ||
StandardOutput=journal+console | ||
MemoryLimit=1G |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is MemoryLimit needed here?
If so, it should probably be less than 1G.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jeffli-xilinx for pointing it, memory limit is not needed. Made changes please approve
Signed-off-by: rbramand <[email protected]>
Build Passed! |
Please mark the CR fixed and backport to 2022.2 |
…on V70/VCK5000 (#7150) (#7172) * CR-1142391 - Programming xclbin immediately after xbutil reset fails on V70/VCK5000 Signed-off-by: rbramand <[email protected]> * Add new service to do initialization tasks > Added init-apu service for doing initialization tasks > This service also creates softkernel user which is used to run skd. > Added changes to decide order in which services run > init-apu -> skd -> apu-boot Signed-off-by: rbramand <[email protected]> * Add missing softkernel user Signed-off-by: rbramand <[email protected]> * Fix comments Signed-off-by: rbramand <[email protected]> Signed-off-by: rbramand <[email protected]> (cherry picked from commit db6a4dc) Signed-off-by: rbramand <[email protected]> Signed-off-by: rbramand <[email protected]>
…on V70/VCK5000 (Xilinx#7150) * CR-1142391 - Programming xclbin immediately after xbutil reset fails on V70/VCK5000 Signed-off-by: rbramand <[email protected]> * Add new service to do initialization tasks > Added init-apu service for doing initialization tasks > This service also creates softkernel user which is used to run skd. > Added changes to decide order in which services run > init-apu -> skd -> apu-boot Signed-off-by: rbramand <[email protected]> * Add missing softkernel user Signed-off-by: rbramand <[email protected]> * Fix comments Signed-off-by: rbramand <[email protected]> Signed-off-by: rbramand <[email protected]>
Signed-off-by: rbramand [email protected]
Problem solved by the commit
xbutil reset triggers reboot of apu and boot services are relaunched.
apu-boot service writes to a register indicating that it is ready. Programming xclbin from host just after reset fails because soft kernel daemon which is started by another boot service is not finished yet but apu-boot service indicated that system is ready. This pr solves this synchronization issue.
Bug / issue (if any) fixed, which PR introduced the bug, how it was discovered
It was discovered in local regression testing by filer
How problem was solved, alternative solutions (if any) and why they were rejected
Added skd service as dependency to apu-boot service which will be started only after skd service is finished.
Risks (if any) associated the changes in the commit
Low
What has been tested and how, request additional testing if necessary
Tested by running regression with the newly generated apu package on V70 device.
Documentation impact (if any)
NA