From: Borislav Petkov <bp@alien8.de>
To: Mukul Joshi <mukul.joshi@amd.com>
Cc: linux-edac@vger.kernel.org, x86@kernel.org,
linux-kernel@vger.kernel.org, mingo@redhat.com,
mchehab@kernel.org, yazen.ghannam@amd.com,
amd-gfx@lists.freedesktop.org
Subject: Re: [PATCHv2 2/2] drm/amdgpu: Register MCE notifier for Aldebaran RAS
Date: Wed, 22 Sep 2021 13:40:31 +0200 [thread overview]
Message-ID: <YUsWLw1gSD/AQbcH@zn.tnic> (raw)
In-Reply-To: <20210913021311.12896-2-mukul.joshi@amd.com>
On Sun, Sep 12, 2021 at 10:13:11PM -0400, Mukul Joshi wrote:
> On Aldebaran, GPU driver will handle bad page retirement
> even though UMC is host managed. As a result, register a
> bad page retirement handler on the mce notifier chain to
> retire bad pages on Aldebaran.
>
> v1->v2:
> - Use smca_get_bank_type() to determine MCA bank.
> - Envelope the changes under #ifdef CONFIG_X86_MCE_AMD.
> - Use MCE_PRIORITY_UC instead of MCE_PRIO_ACCEL as we are
> only handling uncorrectable errors.
> - Use macros to determine UMC instance and channel instance
> where the uncorrectable error occured.
> - Update the headline.
Same note as for the previous patch.
> +static int amdgpu_bad_page_notifier(struct notifier_block *nb,
> + unsigned long val, void *data)
> +{
> + struct mce *m = (struct mce *)data;
> + struct amdgpu_device *adev = NULL;
> + uint32_t gpu_id = 0;
> + uint32_t umc_inst = 0;
> + uint32_t ch_inst, channel_index = 0;
> + struct ras_err_data err_data = {0, 0, 0, NULL};
> + struct eeprom_table_record err_rec;
> + uint64_t retired_page;
> +
> + /*
> + * If the error was generated in UMC_V2, which belongs to GPU UMCs,
> + * and error occurred in DramECC (Extended error code = 0) then only
> + * process the error, else bail out.
> + */
> + if (!m || !((smca_get_bank_type(m->bank) == SMCA_UMC_V2) &&
> + (XEC(m->status, 0x1f) == 0x0)))
> + return NOTIFY_DONE;
> +
> + /*
> + * GPU Id is offset by GPU_ID_OFFSET in MCA_IPID_UMC register.
> + */
> + gpu_id = GET_MCA_IPID_GPUID(m->ipid) - GPU_ID_OFFSET;
> +
> + adev = find_adev(gpu_id);
> + if (!adev) {
> + dev_warn(adev->dev, "%s: Unable to find adev for gpu_id: %d\n",
> + __func__, gpu_id);
> + return NOTIFY_DONE;
> + }
> +
> + /*
> + * If it is correctable error, return.
> + */
> + if (mce_is_correctable(m)) {
> + return NOTIFY_OK;
> + }
This can run before you find_adev().
> +static void amdgpu_register_bad_pages_mca_notifier(void)
> +{
> + /*
> + * Register the x86 notifier only once
> + * with MCE subsystem.
> + */
> + if (notifier_registered == false) {
> + mce_register_decode_chain(&amdgpu_bad_page_nb);
> + notifier_registered = true;
> + }
I have a patchset which will get rid of the need to do this silliness -
only if I had some time to actually prepare it for submission... :-\
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
next prev parent reply other threads:[~2021-09-22 11:40 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-11 15:25 [PATCH 1/3] x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types Naveen Krishna Chatradhi
2021-05-11 15:25 ` [PATCH 2/3] x86/MCE/AMD: Helper function to check UMC v2 Naveen Krishna Chatradhi
2021-05-11 17:34 ` Borislav Petkov
2021-05-12 1:40 ` Joshi, Mukul
2021-05-12 7:26 ` Borislav Petkov
2021-09-13 2:13 ` [PATCHv2 1/2] x86/MCE/AMD: Export smca_get_bank_type symbol Mukul Joshi
2021-09-13 2:13 ` [PATCHv2 2/2] drm/amdgpu: Register MCE notifier for Aldebaran RAS Mukul Joshi
2021-09-22 11:40 ` Borislav Petkov [this message]
2021-09-22 19:43 ` Joshi, Mukul
2021-09-22 19:36 ` [PATCHv3 " Mukul Joshi
2021-09-23 14:29 ` Yazen Ghannam
2021-09-23 14:37 ` Borislav Petkov
2021-09-23 15:31 ` Joshi, Mukul
2021-09-23 15:30 ` Joshi, Mukul
2021-09-23 17:23 ` Yazen Ghannam
2021-09-23 18:14 ` Borislav Petkov
2021-09-24 19:46 ` Yazen Ghannam
2021-09-25 11:20 ` Borislav Petkov
2021-09-27 18:37 ` Yazen Ghannam
2021-09-23 18:34 ` Joshi, Mukul
2021-09-23 22:04 ` [PATCHv4 " Mukul Joshi
2021-09-24 19:53 ` Yazen Ghannam
2021-09-22 11:33 ` [PATCHv2 1/2] x86/MCE/AMD: Export smca_get_bank_type symbol Borislav Petkov
2021-09-22 16:27 ` Deucher, Alexander
2021-09-22 16:43 ` Borislav Petkov
2021-09-22 16:47 ` Joshi, Mukul
2021-05-11 15:25 ` [PATCH 3/3] x86/mce: Add MCE priority for Accelerator devices Naveen Krishna Chatradhi
2021-05-11 17:27 ` [PATCH 1/3] x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types Borislav Petkov
2021-05-24 16:41 ` Chatradhi, Naveen Krishna
2021-05-25 18:02 ` Borislav Petkov
2021-05-25 20:03 ` Yazen Ghannam
2021-05-25 20:12 ` Borislav Petkov
2021-05-26 16:46 ` [PATCH v2] " Naveen Krishna Chatradhi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YUsWLw1gSD/AQbcH@zn.tnic \
--to=bp@alien8.de \
--cc=amd-gfx@lists.freedesktop.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=mingo@redhat.com \
--cc=mukul.joshi@amd.com \
--cc=x86@kernel.org \
--cc=yazen.ghannam@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).