> -----Original Message-----
> From: David Miller <da...@davemloft.net>
> Sent: 06 October 2018 03:21
> To: sunil.kovv...@gmail.com
> Cc: netdev@vger.kernel.org; a...@arndb.de; linux-...@vger.kernel.org;
> sgout...@marvell.com; amaka...@marvell.com; lbarto...@marvell.com
> Subject: [EXT] Re: [PATCH v6 04/15] octeontx2-af: Add mailbox support infra
> 
> 
> ----------------------------------------------------------------------
> From: sunil.kovv...@gmail.com
> Date: Thu,  4 Oct 2018 23:51:47 +0530
> 
> > +int otx2_mbox_init(struct otx2_mbox *mbox, void *hwbase, struct
> pci_dev *pdev,
> > +              void *reg_base, int direction, int ndevs) {
> > +   int devid;
> > +   struct otx2_mbox_dev *mdev;
> 
> Please order local variable declarations from longest to shortest line.
> 
> Please audit your entire series for this problem.

Sure, will fix this and re-submit.

> 
> > +int otx2_mbox_busy_poll_for_rsp(struct otx2_mbox *mbox, int devid) {
> > +   struct otx2_mbox_dev *mdev = &mbox->dev[devid];
> > +   unsigned long timeout = jiffies + 1 * HZ;
> > +
> > +   while (!time_after(jiffies, timeout)) {
> > +           if (mdev->num_msgs == mdev->msgs_acked)
> > +                   return 0;
> > +           cpu_relax();
> > +   }
> > +   return -EIO;
> > +}
> 
> Probably not a good idea to poll something in the kernel for an entire
> second.  Please add a preemption point like a usleep() or similar.
> cpu_relax() does not yield the cpu to the scheduler.
> 
> Thank you.

APIs with both modes are added here i.e 
otx2_mbox_wait_for_rsp() - which sleeps on every check as you suggested.
                                                    This API will be used 99% 
of the cases.
otx2_mbox_busy_poll_for_rsp() - This API is a busy poll one which is intended 
to be used in
                                                             cases where 
polling is not allowed.  An example would be
                                                             ' 
.ndo_set_rx_mode' when netdev driver has to change mode
                                                             It frames and 
sends mailbox message to this AF driver and busy polls
                                                             for response.

Thanks,
Sunil.

Reply via email to