Error in initiating "while loop()"

Hello, everyone I need help in activating while loop in void loop. Actually the condition for while loop is present in rpmRead() function.
thank you.

const int rpmPin = 13;
int x;
int z=0;
float Htime;
bool state1;
bool state2;
bool state3;
bool state4;
bool state5;
bool state6;
const int latchPin2 = 3;
const int dataPin2 = 5;
const int clockPin2 = 4;
const int latchPin3 = 11;
const int clockPin3 = 6;
const int dataPin3 = 9;
const int latchPin = 8;
const int dataPin = 7;
const int clockPin = 2;
const int gear1 = A0;
const int gear2 = A1;
const int gear3 = A2;
const int gear4 = A3;
const int gear5 = A4;
const int gear6 = A5;
int led1[] = {128,192,224,240,248,252,254,255};
int led2[] = {128,192,224,240,248,252,254,255};
int i = 0;
void blinkLed() {
  if (x > 9000) {
    digitalWrite(latchPin2, LOW);
    shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
    digitalWrite(latchPin2, HIGH);
    digitalWrite(latchPin3, LOW);
    shiftOut(dataPin3, clockPin3, MSBFIRST, 255);
    digitalWrite(latchPin3, HIGH);
    delay(100);
    digitalWrite(latchPin2, LOW);
    shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
    digitalWrite(latchPin2, HIGH);
    digitalWrite(latchPin3, LOW);
    shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
    digitalWrite(latchPin3, HIGH);
    delay(100);
  }
  else {
    if (i > 8 ) {
      int k = i - 9;
      digitalWrite(latchPin2, LOW);
      shiftOut(dataPin2, clockPin2, MSBFIRST, 255);
      digitalWrite(latchPin2, HIGH);
      digitalWrite(latchPin3, LOW);
      shiftOut(dataPin3, clockPin3, MSBFIRST, led2[k]);
      digitalWrite(latchPin3, HIGH);
    }
    else {
      digitalWrite(latchPin2, LOW);
      shiftOut(dataPin2, clockPin2, MSBFIRST, led1[i]);
      digitalWrite(latchPin2, HIGH);
      digitalWrite(latchPin3, LOW);
      shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
      digitalWrite(latchPin3, HIGH);
    }
  }
  
  
}
void gear() {
   state1 = digitalRead(gear1);
   state2 = digitalRead(gear2);
   state3 = digitalRead(gear3);
   state4 = digitalRead(gear4);
   state5 = digitalRead(gear5);
   state6 = digitalRead(gear6);
  
  if (state1 == LOW)
  {
    //1st Gear
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST,40 );
    digitalWrite(latchPin, HIGH);
  }
  else if (state2 == LOW)
  {
    //2nd Gear
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, 218);
    digitalWrite(latchPin, HIGH);
  }
  else if (state3 == LOW)
  {
    //3rd Gear
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, 122);
    digitalWrite(latchPin, HIGH);
  }
  else if (state4 == LOW)
  {
    //4th Gear
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, 60);
    digitalWrite(latchPin, HIGH);
  }
  else if (state5 == LOW)
  {
    //5th Gear
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, 118);
    digitalWrite(latchPin, HIGH);
  }
  else if (state6 == LOW)
  {
    //6th Gear
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, 246);
    digitalWrite(latchPin, HIGH);
  }
  else
  {
    //Neutral
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, 238);
    digitalWrite(latchPin, HIGH);
  }

}

void rpmRead() {
  Htime = pulseIn(rpmPin, HIGH);  



  x = 1000000 / Htime; //getting frequency with Ttime is in Micro seconds
 
  if (x >= 10000) {
    x = 10000;
  }
  i = map(x, 1500, 10000, 0, 15);
}
void setup()
{
  Serial.begin(2000000);
  pinMode(latchPin2, OUTPUT);
  pinMode(dataPin2, OUTPUT);
  pinMode(clockPin2, OUTPUT);
  pinMode(latchPin3, OUTPUT);
  pinMode(dataPin3, OUTPUT);
  pinMode(clockPin3, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  digitalWrite(latchPin2, LOW);
  shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
  digitalWrite(latchPin2, HIGH);
  digitalWrite(latchPin3, LOW);
  shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
  digitalWrite(latchPin3, HIGH);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 255);
  digitalWrite(latchPin, HIGH);
  pinMode(gear1, INPUT);
  pinMode(gear2, INPUT);
  pinMode(gear3, INPUT);
  pinMode(gear4, INPUT);
  pinMode(gear5, INPUT);
  pinMode(gear6, INPUT);
  digitalWrite(gear1, HIGH);
  digitalWrite(gear2, HIGH);
  digitalWrite(gear3, HIGH);
  digitalWrite(gear4, HIGH);
  digitalWrite(gear5, HIGH);
  digitalWrite(gear6, HIGH);
  pinMode(rpmPin, INPUT);
}
void loop(){
 while(x>10){
  Serial.println("Running");
  rpmRead();
  if (i >= 0) {
    blinkLed();
  }
  else{
     digitalWrite(latchPin2, LOW);
      shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
      digitalWrite(latchPin2, HIGH);
      digitalWrite(latchPin3, LOW);
      shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
      digitalWrite(latchPin3, HIGH);
  }
  gear();
  delay(1);
}
while(x<10){
 Serial.println("Not Running");
   digitalWrite(latchPin2, LOW);
      shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
      digitalWrite(latchPin2, HIGH);
      digitalWrite(latchPin3, LOW);
      shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
      digitalWrite(latchPin3, HIGH);
delay(100);
 digitalWrite(latchPin2, LOW);
      shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
      digitalWrite(latchPin2, HIGH);
      digitalWrite(latchPin3, LOW);
      shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
      digitalWrite(latchPin3, HIGH);
delay(100);
 }
}

What do you mean "activating"? Which while loop?

i mean i cant run while loop and both are having problem.

What is it doing, and how does that differ from your expectations?

What is x supposed to represent?
You should use descriptive names for variables, particularly global ones. It's fine coding practice to use a single letter variable name when you're declaring the variable right next to the loop, because then anyone reading can see what it's for without scrolling around - but a global variable used all over the place should never be given a name like that.

DrAzzy:
What is it doing, and how does that differ from your expectations?

What is x supposed to represent?
You should use descriptive names for variables, particularly global ones. It's fine coding practice to use a single letter variable name when you're declaring the variable right next to the loop, because then anyone reading can see what it's for without scrolling around - but a global variable used all over the place should never be given a name like that.

Thank you i will take care of that from next time.

And what is supposed to happen if "x" = 10 ??