“C” efface par programme le cache L2 sur les machines Linux

Quelles seraient les étapes de programmation écrites en “C” associées à la suppression du cache L2 sur une machine Linux?

/ sys / devices / system / cpu / cpu0 / cache / index2 / size = 6144 Ko x 8CPU

Le plus proche, vous pouvez obtenir de toute manière à distance propre / portable:

char dummy[L2_CACHE_SIZE]; memset(dummy, 0, sizeof dummy); 

Selon votre processeur, il peut y avoir des codes d’opération privilégiés pouvant vider le cache, mais je ne sais rien à leur sujet ni comment vous pouvez y accéder. Il est probable que s’ils existent, vous aurez peut-être encore besoin d’un code au niveau du kernel pour les utiliser.

Vous ne pouvez pas accéder à la mémoire de bas niveau à partir de l’espace utilisateur, vous devez implémenter votre propre pilote de périphérique pour pouvoir accéder à la mémoire physique sous Linux.