octeontx2-af: Allocate low priority entries for PF
authorSubbaraya Sundeep <sbhatta@marvell.com>
Tue, 17 Aug 2021 04:44:51 +0000 (10:14 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 17 Aug 2021 09:06:33 +0000 (10:06 +0100)
commit7df5b4b260ddc1d20ab0e711df68c806ee393178
tree22cd41ed677e2d8dca398e831e5febe60623a5eb
parent2da48943274712fc3204089d9a97078350765635
octeontx2-af: Allocate low priority entries for PF

If the mcam entry allocation request is from PF
and NOT a priority allocation request then allocate
low priority entries so that PF entries always have
lower priority than its VFs. This is required so
that entries with (base) MCAM match criteria have lower
priority compared to entries with (base + additional)
match criteria. This patch considers only best case
scenario where PF entries are allocated from low
priority zone if low priority zone has free space.
There are worst case scenarios like:
1. VFs allocating hundreds of MCAM entries leading to VFs
using all mid priority zone and low priority zone entries
hence no entries free from low priority zone for PF.
2. All the PFs and VFs in the system allocating and freeing
entries causing fragmentation in MCAM space and all the
entries requested by PF could not fit in low priority
zone for allocation.
This patch do not handle worst case scenarios.

Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c