All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>,
	Rui Salvaterra <rsalvaterra@gmail.com>
Cc: debian-powerpc@lists.debian.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6,7)
Date: Wed, 20 May 2020 15:53:05 +0200	[thread overview]
Message-ID: <dbaa79c9-dfae-9cb1-cac4-3a198ca28cf0@csgroup.eu> (raw)
In-Reply-To: <877dx6g1rr.fsf@linux.ibm.com>



Le 20/05/2020 à 15:43, Aneesh Kumar K.V a écrit :
> Christophe Leroy <christophe.leroy@csgroup.eu> writes:
> 
>> Le 18/05/2020 à 17:19, Rui Salvaterra a écrit :
>>> Hi again, Christophe,
>>>
>>> On Mon, 18 May 2020 at 15:03, Christophe Leroy
>>> <christophe.leroy@csgroup.eu> wrote:
>>>>
>>>> Can you try reverting 697ece78f8f749aeea40f2711389901f0974017a ? It may
>>>> have broken swap.
>>>
>>> Yeah, that was a good call. :) Linux 5.7-rc1 with the revert on top
>>> survives the beating. I'll be happy to test a definitive patch!
>>>
>>
>> Yeah I discovered recently that the way swap is implemented on powerpc
>> expects RW and other important bits not be one of the 3 least
>> significant bits (see __pte_to_swp_entry() )
> 
> The last 3 bits are there to track the _PAGE_PRESENT right? What is the
> RW dependency there? Are you suggesting of read/write migration entry?
> A swap entry should not retain the pte rw bits right?
> 
> A swap entry is built using swap type + offset. And it should not have a
> dependency on pte RW bits. Along with type and offset we also should
> have the ability to mark it as a pte entry and also set not present
> bits. With that understanding what am I missing here?

That's probably me who is missing something, I have not digged into the 
swap functionning yet indeed, so that was only my first feeling.

By the way, the problems is definitely due to the order changes in the 
PTE bits, whether that's because _PAGE_RW was moved to the last 3 bits 
or whether that's because _PAGE_PRESENT was moved out of the last 3 
bits, I don't know yet.

My (bad) understanding is from the fact that  __pte_to_swp_entry() is a 
right shift by 3 bits, so it looses the last 3 bits, and therefore 
__swp_entry_to_pte(__pte_to_swp_entry(pte)) looses the last 3 bits of a PTE.

Is there somewhere a description of how swap works exactly ?

Christophe

  reply	other threads:[~2020-05-20 13:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-18 11:20 [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6,7) Rui Salvaterra
2020-05-18 11:50 ` Christophe Leroy
2020-05-18 13:25   ` [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6, 7) Rui Salvaterra
2020-05-18 14:03     ` [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6,7) Christophe Leroy
2020-05-18 15:19       ` [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6, 7) Rui Salvaterra
2020-05-18 17:15         ` [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6,7) Christophe Leroy
2020-05-18 17:48           ` [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6, 7) Rui Salvaterra
2020-05-20 13:43           ` Aneesh Kumar K.V
2020-05-20 13:53             ` Christophe Leroy [this message]
2020-05-20 14:29               ` [Regression 5.7-rc1] Random hangs on 32-bit PowerPC (PowerBook6,7) Aneesh Kumar K.V

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=dbaa79c9-dfae-9cb1-cac4-3a198ca28cf0@csgroup.eu \
    --to=christophe.leroy@csgroup.eu \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=debian-powerpc@lists.debian.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=rsalvaterra@gmail.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 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.