[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201206091429.17171.jackm@dev.mellanox.co.il>
Date: Sat, 9 Jun 2012 14:29:16 +0300
From: Jack Morgenstein <jackm@....mellanox.co.il>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: netdev@...r.kernel.org, dotanb@...lanox.co.il,
Or Gerlitz <ogerlitz@...lanox.com>
Subject: Re: mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet
On Saturday 09 June 2012 12:09, Dan Carpenter wrote:
> 423 /*fail if the hca has an unknown capability */
> 424 if ((hca_param.global_caps | HCA_GLOBAL_CAP_MASK) !=
> 425 HCA_GLOBAL_CAP_MASK) {
> 426 mlx4_err(dev, "Unknown hca global capabilities\n");
> 427 return -ENOSYS;
> 428 }
>
> The test sort of makes sense but HCA_GLOBAL_CAP_MASK is zero so we could
> as well say:
>
> if (hca_param.global_caps) { ...
>
The parameter global_caps is to guarantee that the guest OS is capable
of supporting the driver which is running on the master (hypervisor).
If a new feature impacts the guests, we will define a bit in the
global_caps bitmask and the master driver will set this bit and
the global_caps bitmask with the newly set bit will be passed
to the slaves.
The HCA_GLOBAL_CAP_MASK on the slave OS represents the set
of such features which the slave knows how to support.
If a new feature appears which is not set in the slave's
HCA_GLOBAL_CAP_MASK, this test detects the discrepancy and
the slave driver aborts.
This global_caps parameter passed from the master to the slave
is currently zero, because all current master capabilities
are supported on the slaves.
In the (probably near) future, when new capabilities are added,
Slave O/S's will also need to be updated. If the master O/S driver is
updated, but an older slave O/S driver isstill installed, the test
will fail and the driver on the slave will abort.
-Jack
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists