validate_slab(s, slab, obj_map);
                count++;
        }
-       if (count != atomic_long_read(&n->nr_slabs)) {
+       if (count != node_nr_slabs(n)) {
                pr_err("SLUB: %s %ld slabs counted but counter=%ld\n",
-                      s->name, count, atomic_long_read(&n->nr_slabs));
+                      s->name, count, node_nr_slabs(n));
                slab_add_kunit_errors();
        }
 
                for_each_kmem_cache_node(s, node, n) {
 
                        if (flags & SO_TOTAL)
-                               x = atomic_long_read(&n->total_objects);
+                               x = node_nr_objs(n);
                        else if (flags & SO_OBJECTS)
-                               x = atomic_long_read(&n->total_objects) -
-                                       count_partial(n, count_free);
+                               x = node_nr_objs(n) - count_partial(n, count_free);
                        else
-                               x = atomic_long_read(&n->nr_slabs);
+                               x = node_nr_slabs(n);
                        total += x;
                        nodes[node] += x;
                }
                unsigned long flags;
                struct slab *slab;
 
-               if (!atomic_long_read(&n->nr_slabs))
+               if (!node_nr_slabs(n))
                        continue;
 
                spin_lock_irqsave(&n->list_lock, flags);