Messages in this thread | | | From | "Lad, Prabhakar" <> | Date | Thu, 6 Apr 2023 18:59:22 +0000 | Subject | Re: [PATCH v7 1/6] riscv: mm: dma-noncoherent: Switch using function pointers for cache management |
| |
Hi Christoph,
On Tue, Apr 4, 2023 at 6:29 AM Christoph Hellwig <hch@infradead.org> wrote: > > On Thu, Mar 30, 2023 at 09:42:12PM +0100, Prabhakar wrote: > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > Currently, selecting which CMOs to use on a given platform is done using > > and ALTERNATIVE_X() macro. This was manageable when there were just two > > CMO implementations, but now that there are more and more platforms coming > > needing custom CMOs, the use of the ALTERNATIVE_X() macro is unmanageable. > > > > To avoid such issues this patch switches to use of function pointers > > instead of ALTERNATIVE_X() macro for cache management (the only drawback > > being performance over the previous approach). > > > > void (*clean_range)(unsigned long addr, unsigned long size); > > void (*inv_range)(unsigned long addr, unsigned long size); > > void (*flush_range)(unsigned long addr, unsigned long size); > > > > NAK. Function pointers for somthing high performance as cache > maintainance is a complete no-go. > Ok, I will take the ALTERNATIVE() macro route.
Cheers, Prabhakar
| |