[PATCH 0/3] Sparse HART id improvements
Xiang W
wxjstz at 126.com
Fri Oct 6 20:48:50 PDT 2023
在 2023-10-06星期五的 10:05 +0530,Anup Patel写道:
> On Sun, Sep 24, 2023 at 9:28 PM Xiang W <wxjstz at 126.com> wrote:
> >
> > Modify last_hartindex_having_scratch/hartindex_to_hartid_table
> > /hartindex_to_scratch_table as static variables to prevent accidental
> > modification and reduce memory consumption
> >
> > Xiang W (3):
> > lib: sbi: Refactor sbi_scratch_last_hartindex as a function
> > lib: sbi: Refactor sbi_hartindex_to_hartid as a function
> > lib: sbi: Refactor sbi_hartindex_to_scratch as a function
>
> All these are in hot-path at various places so introducing a
> function is certainly not helping.
>
> Also, if some buggy code is accidentally modifying global data
> then that buggy code should be fixed rather than papering over
> the problem by introducing these functions.
PATCH1:
The original code is a bit strange in that there is already a global variable
last_hartindex_having_scratch, but instead of using it outside of sbi_scratch.c,
the macro sbi_scratch_last_hartindex is used. If don't want to modify this macro
into a function, why not just change the name of the last_hartindex_having_scratch
renamed to sbi_scratch_last_hartindex and then remove the macro?
PATCH2:
The arrays hartindex_to_hartid_table and plat->hart_index2id store similar content,
and the extra length of the hartindex_to_hartid_table array is not used because
there is a determination of whether the index is less than sbi_scratch_last_ hartindex.
the array can be removed by adding just a little bit of checking.
Regards,
Xiang W
>
> Regards,
> Anup
>
> >
> > include/sbi/sbi_scratch.h | 35 ++++++++++++-----------------------
> > lib/sbi/sbi_scratch.c | 30 ++++++++++++++++++++++++++----
> > 2 files changed, 38 insertions(+), 27 deletions(-)
> >
> > --
> > 2.40.1
> >
> >
> > --
> > opensbi mailing list
> > opensbi at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/opensbi
More information about the opensbi
mailing list