From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: Regular oops on shutdown of KVM/ARM64 machines with VGA device
Date: Wed, 01 Jul 2015 09:20:28 +0100 [thread overview]
Message-ID: <5593A2CC.2050805@arm.com> (raw)
In-Reply-To: <20150630185031.GA23001@cbox>
[+Will, Catalin]
On 30/06/15 19:50, Christoffer Dall wrote:
> On Tue, Jun 30, 2015 at 05:20:11PM +0100, Marc Zyngier wrote:
>> On 30/06/15 17:16, Dirk M?ller wrote:
>>> Hi Marc,
>>>
>>>> Can try the following patch?
>>>
>>> [..]
>>>
>>> Thanks a lot for the quick patch, from a brief testing this seems to
>>> fix the issue (on a 4k kernel). I'll retest this in our original
>>> configuration (which was 64k) but so far I don't see a reason why it
>>> shouldn't fix the issue.
>>
>> Awesome. Mind if I put your Tested-by on the patch?
>>
> Looks to me like the definition of pmd_huge() on arm64 is broken; pretty
> sure when I reviewed this original patch I followed the path of both
> pmd_huge() and pmd_trans_huge() and checked that they don't return true
> if the entry is clear. This happens to be the case on both arm and x86,
> and I probably only looked at the arm code and not the arm64 code.
>
> I'm fine with this patch, but I think we should also merge the
> following, since by definition, a clear pmd cannot also be a huge pmd:
>
> diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c
> index 2de9d2e..779520b 100644
> --- a/arch/arm64/mm/hugetlbpage.c
> +++ b/arch/arm64/mm/hugetlbpage.c
> @@ -40,7 +40,7 @@ int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep)
>
> int pmd_huge(pmd_t pmd)
> {
> - return !(pmd_val(pmd) & PMD_TABLE_BIT);
> + return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT);
> }
>
> int pud_huge(pud_t pud)
>
If the convention is for pmd_huge to check for pmd_none, then we don't
need my patch, and only this should be merged.
Catalin, Will: your thoughts?
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2015-07-01 8:20 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-26 21:16 Regular oops on shutdown of KVM/ARM64 machines with VGA device Dirk Müller
2015-06-29 10:03 ` Mark Rutland
2015-06-29 12:55 ` Marc Zyngier
2015-06-30 7:54 ` Dirk Müller
2015-06-30 10:34 ` Marc Zyngier
2015-06-30 16:16 ` Dirk Müller
2015-06-30 16:20 ` Marc Zyngier
2015-06-30 18:50 ` Christoffer Dall
2015-07-01 8:20 ` Marc Zyngier [this message]
2015-07-01 11:27 ` Catalin Marinas
2015-07-01 11:44 ` Steve Capper
2015-07-01 12:05 ` Christoffer Dall
2015-06-30 7:46 ` Dirk Müller
2015-06-30 9:04 ` Mark Rutland
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=5593A2CC.2050805@arm.com \
--to=marc.zyngier@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.