un-synchronization core local data ring buffers read-copy-update (RCU)
{"Image DocumentName": "un-synchronization core local data ring buffers read-copy-update (RCU)", "Image ImageDescription": "Consider the simple case of network adapter statistics, as reported by ifconfig. In the screenshot, you\u2019ll see ifconfig reporting reaceived and transmitted packets and bytes. Older Linux kernels updated these counters with traditional synchronization. Now Linux kernels do this differently. Each CPU core maintains its own list of statistics. They update their own local counters. When they need to be read, then a thread sums up the individual counters to create the result. This works because reading and writing integers is atomic on all modern CPUs, like x86 and ARM. It\u2019s not possible for one core to read part of an integer while another core writes another part. In other words, allows reporting the correct average packet size can lead to a corrupted, since that\u2019s two separate integers of total bytes divided by total packets, but the individual integers themselves cannot be corrupted. There are several un-synchronized methods that depend upon the atomicity of reads/writes. This example exploits core local data. Another case is ring-buffers. Another case is the RCU mechanism which you can see examples of in the Linux kernel. core local data. ring buffers. read-copy-update (RCU)", "Image XResolution": "37", "Image YResolution": "37", "Image ResolutionUnit": "Pixels/Centimeter", "Image Software": "SlidePlayer", "Image YCbCrPositioning": "Centered"}