[PATCH v2 0/5] parisc: fixes for CONFIG_PREEMPT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Out of curiosity i enabled CONFIG_PREEMPT on my c8000. The kernel didn't
even compile. After fixing compilation i noticed a lot of segmentation
faults - usually a few processes crashed already at boot, with sshd the
most notable one. Most of the time the processes where crashing with a
DTLB or ITLB miss.

With these fixes, i was able to compile a linux kernel on the c8000
with preemption enabled without crashes.

Changes in v2:
- also fix flush_cache_range(), also extend the preemption-disabled
  region to the end of the function, as there's also a tlb flush in
  the last for loop
- add patch to deduplicate code a bit

Sven Schnelle (5):
  parisc: disable preemption during local tlb flush
  parisc: deduplicate code in flush_cache_mm() and flush_cache_range()
  parisc: fix preempt_count() check in entry.S
  parisc: disable preemption in send_IPI_allbutself()
  parisc: fix warning in flush_tlb_all

 arch/parisc/kernel/cache.c | 87 ++++++++++++++++----------------------
 arch/parisc/kernel/entry.S |  4 +-
 arch/parisc/kernel/smp.c   |  4 +-
 arch/parisc/mm/init.c      |  4 +-
 4 files changed, 43 insertions(+), 56 deletions(-)

-- 
2.33.0




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux