Changes between Version 2 and Version 3 of multicoreprocessing
- Timestamp:
- 06/13/2019 09:41:38 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
multicoreprocessing
v2 v3 188 188 = Single Core Processing = 189 189 190 There may be times when a developer needs to only use one CPU because of driver issues, etc. We have found in many instances, especially with wireless application, that they are interrupt intensive and thus the CPU will be running at very low utilization but the interrupt controller is saturated. Since the wireless drivers can only operate on a single core any reduction in overall interrupt traffic helps with performance. When in dual core mode, we use FIQs for inter-processor communication so by running in single core mode we actually reduce the load on the interrupt controller which we’ve seen in some cases provide 5-10% performance improvement. If you are running a lot of user applications then the dual core can definitely provide a benefit it really just depends on your application. '''NOTE: This mainly applies to the Laguna Family line of ARM11 processors. The ARM9 Ventana hasbetter interrupt capabilities'''190 There may be times when a developer needs to only use one CPU because of driver issues, etc. We have found in many instances, especially with wireless application, that they are interrupt intensive and thus the CPU will be running at very low utilization but the interrupt controller is saturated. Since the wireless drivers can only operate on a single core any reduction in overall interrupt traffic helps with performance. When in dual core mode, we use FIQs for inter-processor communication so by running in single core mode we actually reduce the load on the interrupt controller which we’ve seen in some cases provide 5-10% performance improvement. If you are running a lot of user applications then the dual core can definitely provide a benefit it really just depends on your application. '''NOTE: This mainly applies to the Laguna Family line of ARM11 processors. Newer processors have better interrupt capabilities''' 191 191 192 192 To do this, we will modify the bootargs in the bootloader. 193 193 194 For CNS3xxx Laguna boards, break into the bootloader by pressing a key at bootup:194 Break into the bootloader by pressing a key at bootup: 195 195 196 196 Modify the variable bootargs to include maxcpus=1 at the end of the line as shown below: 197 197 {{{ 198 Laguna > setenv bootargs console=ttyS0,115200 root=/dev/mtdblock3 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit maxcpus=1 199 }}} 200 201 Then save the bootargs with: 202 {{{ 203 Laguna > saveenv 204 }}} 198 setenv bootargs ${bootargs} maxcpus=1; saveenv 199 }}} 200 205 201 206 202 Note /proc/interrupts at 2 cores: