We originally added cma=128 to /boot/cmdline.txt because at the time, the kernel allocated too little memory for the TC358743 capture, and we needed at least 128 MB.
Now, it seems like post-Bullseye, Raspbian allocates 512 MiB for CMA, so we're actually limiting memory the kernel allocates for CMA. (see #1576)
We should remove the logic in the uStreamer Ansible role from specificying cma=128 in /boot/cmdline.txt:
We should do a smoke test to verify that video capture still works on a Voyager without the cma=128 param, but we don't need to test more rigorously than that.
Removal
cma=128 doesn't seem to be harming anything, so it's not worth adding in logic to reverse cma=128 in existing installs. If we discover it's a problem in the future, we can always add cleanup logic to tinypilot.postinst.
We originally added
cma=128
to/boot/cmdline.txt
because at the time, the kernel allocated too little memory for the TC358743 capture, and we needed at least 128 MB.Now, it seems like post-Bullseye, Raspbian allocates 512 MiB for CMA, so we're actually limiting memory the kernel allocates for CMA. (see #1576)
We should remove the logic in the uStreamer Ansible role from specificying
cma=128
in/boot/cmdline.txt
:https://github.com/tiny-pilot/tinypilot/blob/e3054409299950a8698c5c1dc4ca9e8c7a8bcdd6/ansible-role-ustreamer/tasks/provision_tc358743.yml#L18-L25
https://github.com/tiny-pilot/tinypilot/blob/e3054409299950a8698c5c1dc4ca9e8c7a8bcdd6/ansible-role-ustreamer/tasks/update_boot_cmdline.yml
Testing
We should do a smoke test to verify that video capture still works on a Voyager without the
cma=128
param, but we don't need to test more rigorously than that.Removal
cma=128
doesn't seem to be harming anything, so it's not worth adding in logic to reversecma=128
in existing installs. If we discover it's a problem in the future, we can always add cleanup logic totinypilot.postinst
.