Note on above; once hotadd is disabled, the xen balloon driver will still perform the memory hotplug, but the added pages won't be available for use. So you can check /proc/zoneinfo, and look at the Normal zone, e.g.:
with hotadd enabled (the default in Ubuntu):
Node 0, zone Normal
pages free 15116671
min 7661
low 22873
high 38085
node_scanned 0
spanned 15499264
present 15499264
managed 15212161
notice the 'spanned' and 'present' pages are the same; the 'spanned' pages include the physical pages added by the xen balloon driver, and 'present' indicates they're available for use (some of them are, based on how inflated the balloon is).
With memory hotadd disabled (commented out in the udev rules file, as shown in above comment):
Node 0, zone Normal
pages free 15104522
min 16356
low 31567
high 46778
node_scanned 0
spanned 15499264
present 15466496
managed 15212150
notice the 'spanned' pages is the same as before, meaning the xen balloon driver still added the physical pages, but the 'present' value is lower, indicating the extra balloon pages aren't available for the system to use, meaning they won't be sent to the NVMe controller, which works around this bug.
Note on above; once hotadd is disabled, the xen balloon driver will still perform the memory hotplug, but the added pages won't be available for use. So you can check /proc/zoneinfo, and look at the Normal zone, e.g.:
with hotadd enabled (the default in Ubuntu):
Node 0, zone Normal
pages free 15116671
min 7661
low 22873
high 38085
node_scanned 0
spanned 15499264
present 15499264
managed 15212161
notice the 'spanned' and 'present' pages are the same; the 'spanned' pages include the physical pages added by the xen balloon driver, and 'present' indicates they're available for use (some of them are, based on how inflated the balloon is).
With memory hotadd disabled (commented out in the udev rules file, as shown in above comment):
Node 0, zone Normal
pages free 15104522
min 16356
low 31567
high 46778
node_scanned 0
spanned 15499264
present 15466496
managed 15212150
notice the 'spanned' pages is the same as before, meaning the xen balloon driver still added the physical pages, but the 'present' value is lower, indicating the extra balloon pages aren't available for the system to use, meaning they won't be sent to the NVMe controller, which works around this bug.