Thread (18 messages) 18 messages, 3 authors, 2018-10-06

RE: [EXT] Re: [PATCH v6 04/15] octeontx2-af: Add mailbox support infra

flat view

From: Goutham, Sunil <hidden>
Date: 2018-10-06 12:03:58

-----Original Message-----
From: David Miller <davem@davemloft.net>
Sent: 06 October 2018 03:21
To: sunil.kovvuri@gmail.com
Cc: netdev@vger.kernel.org; arnd@arndb.de; linux-soc@vger.kernel.org;
sgoutham@marvell.com; amakarov@marvell.com; lbartosik@marvell.com
Subject: [EXT] Re: [PATCH v6 04/15] octeontx2-af: Add mailbox support infra


----------------------------------------------------------------------
From: sunil.kovvuri@gmail.com
Date: Thu,  4 Oct 2018 23:51:47 +0530
quoted
+int otx2_mbox_init(struct otx2_mbox *mbox, void *hwbase, struct
pci_dev *pdev,
quoted
+		   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.
quoted
+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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help