node = avc_search_node(ssid, tsid, tclass);
 
        if (node)
-               avc_cache_stats_incr(hits);
-       else
-               avc_cache_stats_incr(misses);
+               return node;
 
-       return node;
+       avc_cache_stats_incr(misses);
+       return NULL;
 }
 
 static int avc_latest_notif_update(int seqno, int is_insert)
        rcu_read_lock();
 
        node = avc_lookup(ssid, tsid, tclass);
-       if (!node) {
+       if (unlikely(!node)) {
                rcu_read_unlock();
 
                if (in_avd)
 
        if (v == SEQ_START_TOKEN)
                seq_printf(seq, "lookups hits misses allocations reclaims "
                           "frees\n");
-       else
-               seq_printf(seq, "%u %u %u %u %u %u\n", st->lookups,
-                          st->hits, st->misses, st->allocations,
+       else {
+               unsigned int lookups = st->lookups;
+               unsigned int misses = st->misses;
+               unsigned int hits = lookups - misses;
+               seq_printf(seq, "%u %u %u %u %u %u\n", lookups,
+                          hits, misses, st->allocations,
                           st->reclaims, st->frees);
+       }
        return 0;
 }