Timer Interrupts on Due

Hello people,
I would like to calculate the duration of an event on my Arduino DUE board.
I'm using a Hall Effect Sensor to read the RPM (revolutions per minute) of a crankshaft.
I want to calculate the RPM in this way:

T1 ---> this is the right time (it may be zero) when the hall sensor sees the magnet; a timer needs to be started since now;
T2 ---> this is the duration between two transitions of the magnet (duration for 1 revolution);
duration = T2 - T1;
RPM = 360 / duration;

I'd like to manage the output of the Hall sensor with interrupts:

void loop() {
attachInterrupt(hall_pin, start_timer, FALLING);
}

void start_timer {
execute_code_to_start_the_timer;
//here I get the value of T1 or I can simply reset the timer to impose T1 = 0
detachInterrupt(hall_pin);
attachInterrupt(hall_pin, stop_timer, FALLING);
}

void stop_timer() {
execute_code_to_stop_the_timer;
//here I get the duration between two consecutive pulses
detachInterrupt(hall_pin);
loop();
}

Can someone help me with this algorithm? Thanks in advance,

kalo86