<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/io-workarounds.c, branch linux-4.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-08-23T12:27:04Z</updated>
<entry>
<title>powerpc: Convert to using %pOF instead of full_name</title>
<updated>2017-08-23T12:27:04Z</updated>
<author>
<name>Rob Herring</name>
</author>
<published>2017-08-21T15:16:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7c670d673d1186e9a6aafaad36aace34046bb6b'/>
<id>urn:sha1:b7c670d673d1186e9a6aafaad36aace34046bb6b</id>
<content type='text'>
Now that we have a custom printf format specifier, convert users of
full_name to use %pOF instead. This is preparation to remove storing
of the full path string for each node.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Cc: Anatolij Gustschin &lt;agust@denx.de&gt;
Cc: Scott Wood &lt;oss@buserror.net&gt;
Cc: Kumar Gala &lt;galak@kernel.crashing.org&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: linuxppc-dev@lists.ozlabs.org
Reviewed-by: Tyrel Datwyler &lt;tyreld@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/mm: Rename find_linux_pte_or_hugepte()</title>
<updated>2017-08-17T13:13:46Z</updated>
<author>
<name>Aneesh Kumar K.V</name>
</author>
<published>2017-07-27T06:24:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94171b19c3f1f4d9d4c0e3aaa1aa161def1ec7ea'/>
<id>urn:sha1:94171b19c3f1f4d9d4c0e3aaa1aa161def1ec7ea</id>
<content type='text'>
Add newer helpers to make the function usage simpler. It is always
recommended to use find_current_mm_pte() for walking the page table.
If we cannot use find_current_mm_pte(), it should be documented why
the said usage of __find_linux_pte() is safe against a parallel THP
split.

For now we have KVM code using __find_linux_pte(). This is because kvm
code ends up calling __find_linux_pte() in real mode with MSR_EE=0 but
with PACA soft_enabled = 1. We may want to fix that later and make
sure we keep the MSR_EE and PACA soft_enabled in sync. When we do that
we can switch kvm to use find_linux_pte().

Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>sched/headers: Prepare to remove the &lt;linux/mm_types.h&gt; dependency from &lt;linux/sched.h&gt;</title>
<updated>2017-03-02T07:42:37Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2017-02-03T23:16:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=589ee62844e042b0b7d19ef57fb4cff77f3ca294'/>
<id>urn:sha1:589ee62844e042b0b7d19ef57fb4cff77f3ca294</id>
<content type='text'>
Update code that relied on sched.h including various MM types for them.

This will allow us to remove the &lt;linux/mm_types.h&gt; include from &lt;linux/sched.h&gt;.

Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Mike Galbraith &lt;efault@gmx.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>powerpc/mm: Differentiate between hugetlb and THP during page walk</title>
<updated>2015-10-12T04:30:09Z</updated>
<author>
<name>Aneesh Kumar K.V</name>
</author>
<published>2015-10-09T03:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=891121e6c02c6242487aa4ea1d5c75b7ecdc45ee'/>
<id>urn:sha1:891121e6c02c6242487aa4ea1d5c75b7ecdc45ee</id>
<content type='text'>
We need to properly identify whether a hugepage is an explicit or
a transparent hugepage in follow_huge_addr(). We used to depend
on hugepage shift argument to do that. But in some case that can
result in wrong results. For ex:

On finding a transparent hugepage we set hugepage shift to PMD_SHIFT.
But we can end up clearing the thp pte, via pmdp_huge_get_and_clear.
We do prevent reusing the pfn page via the usage of
kick_all_cpus_sync(). But that happens after we updated the pte to 0.
Hence in follow_huge_addr() we can find hugepage shift set, but transparent
huge page check fail for a thp pte.

NOTE: We fixed a variant of this race against thp split in commit
691e95fd7396905a38d98919e9c150dbc3ea21a3
("powerpc/mm/thp: Make page table walk safe against thp split/collapse")

Without this patch, we may hit the BUG_ON(flags &amp; FOLL_GET) in
follow_page_mask occasionally.

In the long term, we may want to switch ppc64 64k page size config to
enable CONFIG_ARCH_WANT_GENERAL_HUGETLB

Reported-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/mm/thp: Make page table walk safe against thp split/collapse</title>
<updated>2015-04-17T01:23:39Z</updated>
<author>
<name>Aneesh Kumar K.V</name>
</author>
<published>2015-03-30T05:11:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=691e95fd7396905a38d98919e9c150dbc3ea21a3'/>
<id>urn:sha1:691e95fd7396905a38d98919e9c150dbc3ea21a3</id>
<content type='text'>
We can disable a THP split or a hugepage collapse by disabling irq.
We do send IPI to all the cpus in the early part of split/collapse,
and disabling local irq ensure we don't make progress with
split/collapse. If the THP is getting split we return NULL from
find_linux_pte_or_hugepte(). For all the current callers it should be ok.
We need to be careful if we want to use returned pte_t pointer outside
the irq disabled region. W.r.t to THP split, the pfn remains the same,
but then a hugepage collapse will result in a pfn change. There are
few steps we can take to avoid a hugepage collapse.One way is to take page
reference inside the irq disable region. Other option is to take
mmap_sem so that a parallel collapse will not happen. We can also
disable collapse by taking pmd_lock. Another method used by kvm
subsystem is to check whether we had a mmu_notifer update in between
using mmu_notifier_retry().

Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc: Better split CONFIG_PPC_INDIRECT_PIO and CONFIG_PPC_INDIRECT_MMIO</title>
<updated>2013-08-14T04:57:50Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2013-07-15T03:03:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ecd73cc5c9e137559f4625b347f20cf9ed0de3d5'/>
<id>urn:sha1:ecd73cc5c9e137559f4625b347f20cf9ed0de3d5</id>
<content type='text'>
Remove the generic PPC_INDIRECT_IO and ensure we only add overhead
to the right accessors. IE. If only CONFIG_PPC_INDIRECT_PIO is set,
we don't add overhead to all MMIO accessors.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Replace find_linux_pte with find_linux_pte_or_hugepte</title>
<updated>2013-06-21T06:01:54Z</updated>
<author>
<name>Aneesh Kumar K.V</name>
</author>
<published>2013-06-20T09:00:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12bc9f6fc1d6582b4529ac522d2231bd2584a5f1'/>
<id>urn:sha1:12bc9f6fc1d6582b4529ac522d2231bd2584a5f1</id>
<content type='text'>
Replace find_linux_pte with find_linux_pte_or_hugepte and explicitly
document why we don't need to handle transparent hugepages at callsites.

Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>POWERPC: drivers: remove __dev* attributes.</title>
<updated>2013-01-03T23:57:04Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2012-12-21T22:04:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cad5cef62a5a0c525d39118d2e94b6e2034d5e05'/>
<id>urn:sha1:cad5cef62a5a0c525d39118d2e94b6e2034d5e05</id>
<content type='text'>
CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
markings need to be removed.

This change removes the use of __devinit, __devexit_p, __devinitdata,
__devinitconst, and __devexit from these drivers.

Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.

Cc: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>powerpc: io-workarounds.c was implicitly getting init_mm</title>
<updated>2011-10-31T23:30:37Z</updated>
<author>
<name>Paul Gortmaker</name>
</author>
<published>2011-05-27T17:39:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=333a151822efab7dfb228a653072e5f03eaeb4b6'/>
<id>urn:sha1:333a151822efab7dfb228a653072e5f03eaeb4b6</id>
<content type='text'>
It was coming in via device.h --&gt; module.h etc. but we want to
clean that up.  So explicitly include the header where init_mm
is being declared.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>powerpc/pci: Properly initialize IO workaround "private"</title>
<updated>2011-04-27T04:18:33Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2011-04-11T21:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=69b123684b50040b0926eed1e02795dac8cb9587'/>
<id>urn:sha1:69b123684b50040b0926eed1e02795dac8cb9587</id>
<content type='text'>
Even when no initfunc is provided.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Michael Ellerman &lt;michael@ellerman.id.au&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
