clone returns -EAGAIN when there is no vacant core. In addition, clone tries to use the next vacant hyper-threading core instead of trying to use next vacant hyper-threading core of the next vacant physical core.