Um das sichern der Register kümmert sich GCC schon (wenn man es nicht expizit abschaltet für die ISR, per Zusatz "naked"). Man sollte nur vermeiden in der ISR eine funktion aufzurufen. Dann kann es passieren, dass GCC alle register sichert, obwohl es nicht nötig ist. Ein Makro ist aber OK, genau wie eine Inline Funktion..

So oft ist 15000 mal die Sekunde noch nicht.