<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/arch/arc/mm/tlb.c, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2015-06-22T08:36:55+00:00</updated>
<entry>
<title>ARCv2: MMUv4: TLB programming Model changes</title>
<updated>2015-06-22T08:36:55+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-04-06T11:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=d7a512bfe0be3790bae8465b4cb6c1bbca03c616'/>
<id>urn:sha1:d7a512bfe0be3790bae8465b4cb6c1bbca03c616</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: compress cpuinfo_arc_mmu (mainly save page size in KB)</title>
<updated>2015-06-19T12:39:25+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2015-02-13T13:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=40b552d95a545e828fb4ebbf68a385cb9eaebf64'/>
<id>urn:sha1:40b552d95a545e828fb4ebbf68a385cb9eaebf64</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: boot: cpu feature print enhancements</title>
<updated>2014-10-13T09:16:22+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2014-09-25T11:24:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=56372082533afb859e6d64707859349a2ee171bf'/>
<id>urn:sha1:56372082533afb859e6d64707859349a2ee171bf</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [SMP] TLB flush</title>
<updated>2013-11-06T05:11:45+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-10-27T09:19:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5ea72a90261552ed5fdca35239feb6cba498301e'/>
<id>urn:sha1:5ea72a90261552ed5fdca35239feb6cba498301e</id>
<content type='text'>
- Add mm_cpumask setting (aggregating only, unlike some other arches)
  used to restrict the TLB flush cross-calling

- cross-calling versions of TLB flush routines (thanks to Noam)

Signed-off-by: Noam Camus &lt;noamc@ezchip.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [SMP] ASID allocation</title>
<updated>2013-11-06T05:11:45+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-08-23T13:46:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=63eca94ca206e342bad4a06a86d8e7eda3053a4e'/>
<id>urn:sha1:63eca94ca206e342bad4a06a86d8e7eda3053a4e</id>
<content type='text'>
-Track a Per CPU ASID counter
-mm-per-cpu ASID (multiple threads, or mm migrated around)

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: Fix bogus gcc warning and micro-optimise TLB iteration loop</title>
<updated>2013-11-06T05:11:41+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-09-27T12:50:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0a4c40a3b702730c8b1ad0952e6501e84fadd395'/>
<id>urn:sha1:0a4c40a3b702730c8b1ad0952e6501e84fadd395</id>
<content type='text'>
------------------&gt;8----------------------
arch/arc/mm/tlb.c: In function ‘do_tlb_overlap_fault’:
arch/arc/mm/tlb.c:688:13: warning: array subscript is above array bounds
[-Warray-bounds]
         (pd0[n] &amp; PAGE_MASK)) {
             ^
------------------&gt;8----------------------

While at it, remove the usless last iteration of outer loop when reading
a TLB SET for duplicate entries.

Suggested-by: Mischa Jonker &lt;mjonker@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [ASID] Track ASID allocation cycles/generations</title>
<updated>2013-08-30T16:12:19+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-07-25T22:45:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=947bf103fcd2defa3bc4b7ebc6b05d0427bcde2d'/>
<id>urn:sha1:947bf103fcd2defa3bc4b7ebc6b05d0427bcde2d</id>
<content type='text'>
This helps remove asid-to-mm reverse map

While mm-&gt;context.id contains the ASID assigned to a process, our ASID
allocator also used asid_mm_map[] reverse map. In a new allocation
cycle (mm-&gt;ASID &gt;= @asid_cache), the Round Robin ASID allocator used this
to check if new @asid_cache belonged to some mm2 (from prev cycle).
If so, it could locate that mm using the ASID reverse map, and mark that
mm as unallocated ASID, to force it to refresh at the time of switch_mm()

However, for SMP, the reverse map has to be maintained per CPU, so
becomes 2 dimensional, hence got rid of it.

With reverse map gone, it is NOT possible to reach out to current
assignee. So we track the ASID allocation generation/cycle and
on every switch_mm(), check if the current generation of CPU ASID is
same as mm's ASID; If not it is refreshed.

(Based loosely on arch/sh implementation)

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [ASID] get_new_mmu_context() to conditionally allocate new ASID</title>
<updated>2013-08-30T16:12:18+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-07-24T20:53:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=3daa48d1d9bc44baa079d65e72ef2e3f1139ac03'/>
<id>urn:sha1:3daa48d1d9bc44baa079d65e72ef2e3f1139ac03</id>
<content type='text'>
ASID allocation changes/1

This patch does 2 things:

(1) get_new_mmu_context() NOW moves mm-&gt;ASID to a new value ONLY if it
    was from a prev allocation cycle/generation OR if mm had no ASID
    allocated (vs. before would unconditionally moving to a new ASID)

    Callers desiring unconditional update of ASID, e.g.local_flush_tlb_mm()
    (for parent's address space invalidation at fork) need to first force
    the parent to an unallocated ASID.

(2) get_new_mmu_context() always sets the MMU PID reg with unchanged/new
    ASID value.

The gains are:
- consolidation of all asid alloc logic into get_new_mmu_context()
- avoiding code duplication in switch_mm() for PID reg setting
- Enables future change to fold activate_mm() into switch_mm()

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [ASID] Refactor the TLB paranoid debug code</title>
<updated>2013-08-30T16:12:18+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-08-23T12:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5bd87adf9b2ae5fa1bb469c68029b4eec06d6e03'/>
<id>urn:sha1:5bd87adf9b2ae5fa1bb469c68029b4eec06d6e03</id>
<content type='text'>
-Asm code already has values of SW and HW ASID values, so they can be
 passed to the printing routine.

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: No need to flush the TLB in early boot</title>
<updated>2013-08-30T05:18:14+00:00</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-08-29T12:12:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=c0857f5d0e747dbbf53d8f27bcf7d977aac33760'/>
<id>urn:sha1:c0857f5d0e747dbbf53d8f27bcf7d977aac33760</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
</feed>
