Hi Amiya,
> Yes — the root cause is NDC staleness. The AQ INIT writes pool context 
> (including ptr_start=0, ptr_end=~0) directly to RAM, bypassing NDC.
The AQ INIT does not bypass NDC. May I know how you arrived at this conclusion?
Even your other NDC sync patch is not required. The only time NDC sync is 
required is at teardown time because at this point, we free the stack memory. 
So, after this, NPA should not evict any stale stack pages back to memory 
(which is already freed).

> Sorry for my poor wordings. on my part. The pool stack does not get drained — 
> it never gets populated.During cnxk_mempool_populate(), each 
> roc_npa_aura_op_free() call silently drops the buffer (NPA sees stale context 
> with ena=0 or ptr_end=0 via NDC). After populate completes, the pool has 0 
> available buffers despite no error being returned. Subsequent 
> roc_npa_aura_op_alloc() returns NULL, causing port start failures.
It will not silently drop. You should be getting AURA DISABLED interrupts.

Could you please explain the exact use case and issue that you are facing?

Thanks
Ashwin

Reply via email to