Welcome to the 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 ?

  1. prepare_to_wait(&sc->send[chnl]->waitq, &wait, TASK_UNINTERRUPTIBLE); // unintteruptible such that user thread schduler does not screw up the following schedule_timeout()
  2.  
  3. schedule_timeout(tymeout); // gives time for software chnl_recv() thread to populate recv sg buf parameter
  4.  
  5. finish_wait(&sc->send[chnl]->waitq, &wait);

because of chnl_recv() software thread creation time ?

Answers

  • using the following in place of schedule_timeout()

    1. wait_event_interruptible_timeout(sc->send[chnl]->waitq, (recv_sg_buf_populated == 1), timeout);

    also does not help

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training