Welcome to the new Linux Foundation Forum!
performance drop due to schedule_timeout
Why would adding these few lines riffa_driver.c slow down the PCIe transaction by 20x ?
prepare_to_wait(&sc->send[chnl]->waitq, &wait, TASK_UNINTERRUPTIBLE); // unintteruptible such that user thread schduler does not screw up the following schedule_timeout() schedule_timeout(tymeout); // gives time for software chnl_recv() thread to populate recv sg buf parameter finish_wait(&sc->send[chnl]->waitq, &wait);
because of chnl_recv() software thread creation time ?