On 2021-10-21 11:57, Kent Russell wrote: > dmesg doesn't warn when the number of bad pages approaches the > threshold for page retirement. WARN when the number of bad pages > is at 90% or greater for easier checks and planning, instead of waiting > until the GPU is full of bad pages. > > Cc: Luben Tuikov <luben.tuikov@xxxxxxx> > Cc: Mukul Joshi <Mukul.Joshi@xxxxxxx> > Signed-off-by: Kent Russell <kent.russell@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c > index f4c05ff4b26c..ce5089216474 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c > @@ -1077,6 +1077,12 @@ int amdgpu_ras_eeprom_init(struct amdgpu_ras_eeprom_control *control, > if (res) > DRM_ERROR("RAS table incorrect checksum or error:%d\n", > res); > + > + /* Warn if we are at 90% of the threshold or above */ The kernel uses a couple of styles, this is one of them: /* Warn ... */ if (...) Please use this style as it is used extensively in the amdgpu_ras_eeprom.c file. > + if ((10 * control->ras_num_recs) >= (ras->bad_page_cnt_threshold * 9)) You don't need the extra parenthesis around multiplication--it has higher precedence than relational operators--drop the extra parenthesis. Regards, Luben > + DRM_WARN("RAS records:%u exceeds 90%% of threshold:%d", > + control->ras_num_recs, > + ras->bad_page_cnt_threshold); > } else if (hdr->header == RAS_TABLE_HDR_BAD && > amdgpu_bad_page_threshold != 0) { > res = __verify_ras_table_checksum(control);