Re: [PATCH] parisc: Remove PTE load and fault check from L2_ptep macro

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

 



On 26.09.2018 15:29, Guenter Roeck wrote:
> On 09/26/2018 05:09 AM, John David Anglin wrote:
>> On 2018-09-25 11:21 PM, Guenter Roeck wrote:
>>> This patch causes my parisc qemu tests to fail.
>>> Unfortunately I don't have any useful log output; the failure
>>> is silent. Reverting the patch fixes the problem.
>> Can you be more specific on how to run these tests?
> 
> Sorry. Please see
> 
> https://github.com/groeck/linux-build-test/tree/master/rootfs/parisc
> 
> My tests enable a number of device and debug options on top of defconfig.
> Those are not necessary, though. The problem can be reproduced with defconfig.
> 
> With the initrd available from there, and with an image built using 'defconfig',
> run
> 
> qemu-system-hppa \
>     -kernel vmlinux -no-reboot \
>     -initrd rootfs.cpio.gz \
>     -append 'rdinit=/sbin/init console=ttyS0,115200' \
>     -nographic -monitor null
> 
> I tested with qemu 2.12 and 3.0. Using "arch/parisc/boot/bzImage" as kernel
> image does not make a difference.
> 
> Note: The initrd auto-reboots. To avoid that, add "noreboot" as additional
> command line option.

You didn't mention which kernel version you were using.
I did some testing with your rootfs & initrd, based on upstream git kernel
with the latest patches from my for-next tree:
https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git/log/?h=for-next

I did tested with my own 32-bit config and the 32bit-default-config.

Overall I couldn't reproduce any issues.
Can you try to come up with some more info for what I should look at?

By the way, this patch is now running on all physical debian-buildd servers (64bit kernel)
without any issues so far.

Helge

 
Here is just one of the outputs (which auto-reboots):

[deller@ls3530 helge-system]$ ./hppa-softmmu/qemu-system-hppa -kernel vmlinux -no-reboot \
     -initrd rootfs.cpio.gz \
     -append 'rdinit=/sbin/init console=ttyS0,115200' \
     -nographic -monitor null 

PARISC SeaBIOS Firmware, 1 x PA7300LC (PCX-L2) at 250.0 MHz, 512 MB RAM.
SeaBIOS (version ?-20180204_140129-cloudburst.twiddle.net)
BUILD: gcc: (GCC) 6.2.1 20161124 binutils: (GNU Binutils) 2.29.51.20171119
RamSize: 0x00000000 [cmos]
=== PCI bus & bridge init ===
PCI: pci_bios_init_bus_rec bus = 0x0
=== PCI device probing ===
Found 2 PCI devices (max PCI bus is 00)
=== PCI new allocation pass #1 ===
PCI: check devices
=== PCI new allocation pass #2 ===
PCI: IO: 1000 - 113f
PCI: 32: 00000000f2000000 - 00000000ff800000
PCI: map device bdf=00:00.0  bar 0, addr 00001000, size 00000100 [0: io]
PCI: map device bdf=00:01.0  bar 1, addr 00001100, size 00000040 [0: io]
PCI: map device bdf=00:01.0  bar 6, addr ff780000, size 00040000 [1: mem]
PCI: map device bdf=00:01.0  bar 0, addr ff7c0000, size 00020000 [1: mem]
PCI: map device bdf=00:00.0  bar 2, addr ff7e0000, size 00002000 [1: mem]
PCI: map device bdf=00:00.0  bar 1, addr ff7e2000, size 00001000 [1: mem]
PCI: init bdf=00:00.0 id=1000:0012
pci_init_device: vendor 0x1000 device 0x12
PCI: init bdf=00:01.0 id=8086:100e
pci_init_device: vendor 0x8086 device 0x100e
PCI: No VGA devices found
Found 1 serial ports
init hard drives
pci_init_device: vendor 0x1000 device 0x12
pci_init_device: vendor 0x8086 device 0x100e
found lsi53c895a at 00:00.0, io @ 1000
lsi 00:00.0 2:0 vendor='QEMU' product='QEMU CD-ROM' rev='2.5+' type=5 removable=1

Firmware Version 6.1

Duplex Console IO Dependent Code (IODC) revision 1

Memory Test/Initialization Completed

------------------------------------------------------------------------------
  (c) Copyright 2017-2018 Helge Deller <deller@xxxxxx> and SeaBIOS developers.
------------------------------------------------------------------------------

  Processor   Speed            State           Coprocessor State  Cache Size
  ---------  --------   ---------------------  -----------------  ----------
      0      250 MHz    Active                 Functional            0 KB


  Available memory:     512 MB
  Good memory required: 16 MB

  Primary boot path:    FWSCSI.6.0
  Alternate boot path:  LAN.0.0.0.0.0.0
  Console path:         SERIAL_1.9600.8.none
  Keyboard path:        PS2

Autobooting Linux kernel which was loaded by qemu...

Linux version 4.19.0-rc5-32bit+ (deller@ls3530) (gcc version 7.2.1 20170915 (Red Hat Cross 7.2.1-1) (GCC)) #733 SMP Wed Sep 26 18:13:01 CEST 2018
CPU0: thread -1, cpu 0, socket 0
FP[0] enabled: Rev 1 Model 19
The 32-bit Kernel has started...
Kernel default page size is 4 KB. Huge pages disabled.
bootconsole [ttyB0] enabled
Initialized PDC Console for debugging.
Determining PDC firmware type: System Map.
model 00005020 00000481 00000000 02020202 7794d7fe 100000f0 00000004 000000ba 000000ba
vers  00000008
CPUID vers 15 rev 8 (0x000001e8)
capabilities 0x2
model 9000/778/B160L
Memory Ranges:
 0) Start 0x0000000000000000 End 0x000000001fffffff Size    512 MB
Total Memory: 512 MB
initrd: 2fe16000-2ffefa08
initrd: reserving 1fe16000-1ffefa08 (mem_max 20000000)
PDT: Firmware does not provide any page deallocation information.
percpu: Embedded 23 pages/cpu @(ptrval) s61504 r8192 d24512 u94208
SMP: bootstrap CPU ID is 0
Built 1 zonelists, mobility grouping on.  Total pages: 129920
Kernel command line: rdinit=/sbin/init console=ttyS0,115200
log_buf_len individual max cpu contribution: 4096 bytes
log_buf_len total cpu_extra contributions: 126976 bytes
log_buf_len min size: 65536 bytes
log_buf_len: 262144 bytes
early log buf free: 63216(96%)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 502816K/524288K available (7152K kernel code, 1036K rwdata, 1655K rodata, 624K init, 364K bss, 21472K reserved, 0K cma-reserved)
rcu: Hierarchical RCU implementation.
NR_IRQS: 96
sched_clock: 32 bits at 250MHz, resolution 4ns, wraps every 8589934590ns
Console: colour dummy device 128x48
Calibrating delay loop... 1644.13 BogoMIPS (lpj=8220672)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
rcu: Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
smp: Brought up 1 node, 1 CPU
devtmpfs: initialized
random: get_random_u32 called from bucket_table_alloc+0x1ac/0x1d4 with crng_init=0
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 8192 (order: 6, 393216 bytes)
NET: Registered protocol family 16
EISA bus registered
Searching for devices...
Found devices:
1. Phantom PseudoBC GSC+ Port at 0xffc00000 [8] { 7, 0x0, 0x504, 0x00000 }
2. Dino PCI Bridge at 0xfff80000 [8/0] { 13, 0x3, 0x680, 0x0000a }
3. Merlin+ 132 Dino RS-232 at 0xfff83000 [8/0/63] { 10, 0x0, 0x022, 0x0008c }
4. Merlin L2 160 (9000/778/B160L) at 0xfff10000 [62] { 0, 0x0, 0x502, 0x00004 }
5. Memory at 0xfffbf000 [63] { 1, 0x0, 0x067, 0x00009 }
CPU(s): 1 out of 1 PA7300LC (PCX-L2) at 250.000000 MHz online
Cache flush threshold set to 512 KiB
Whole TLB flush 27185 cycles, Range flush 10457088 bytes 1094283 cycles
Calculated TLB flush threshold 4 KiB
TLB flush threshold set to 512 KiB
Dino version 3.1 found at 0xfff80000
dino 8:0: PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
pci_bus 0000:00: root bus resource [mem 0xf0800000-0xff7fffff]
pci_bus 0000:00: root bus resource [bus 00-ff]
pci 0000:00:01.0: BAR 0: assigned [mem 0xf0800000-0xf081ffff]
pci 0000:00:00.0: BAR 2: assigned [mem 0xf0820000-0xf0821fff]
pci 0000:00:00.0: BAR 1: assigned [mem 0xf0822000-0xf08223ff]
pci 0000:00:00.0: BAR 0: assigned [io  0x0100-0x01ff]
pci 0000:00:01.0: BAR 1: assigned [io  0x0040-0x007f]
powersw: Soft power switch support not available.
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 9216 bytes)
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 2, 20480 bytes)
UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
NET: Registered protocol family 1
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 1892K
clocksource: cr16: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041786 ns
clocksource: Switched to clocksource cr16
Enabling PDC chassis warnings support v0.05
====[ backtrace testing ]===========
Testing a backtrace from process context.
The following trace is a kernel self test and not a bug!
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.0-rc5-32bit+ #733
Hardware name: 9000/778/B160L
Backtrace:
 [<1019ffbc>] show_stack+0x48/0x5c
 [<1087882c>] dump_stack+0x80/0x10c
 [<10269b18>] backtrace_regression_test+0x58/0x180
 [<1019c9a8>] do_one_initcall+0xd0/0x1dc
 [<10101754>] 0x10101754
 [<1088e380>] kernel_init+0x34/0x158
 [<101a401c>] ret_from_kernel_thread+0x1c/0x24

Testing a backtrace from irq context.
The following trace is a kernel self test and not a bug!
CPU: 0 PID: 41 Comm: kworker/u64:2 Not tainted 4.19.0-rc5-32bit+ #733
Hardware name: 9000/778/B160L
Workqueue: events_unbound call_usermodehelper_exec_work
Backtrace:
 [<1019ffbc>] show_stack+0x48/0x5c
 [<1087882c>] dump_stack+0x80/0x10c
 [<10269aa0>] backtrace_test_irq_callback+0x30/0x50
 [<101cbb84>] tasklet_action_common.isra.5+0x174/0x218
 [<101cbcd8>] tasklet_action+0x50/0x60
 [<108967cc>] __do_softirq+0x324/0x3dc
 [<101a6788>] call_on_stack+0x24/0x30
 [<101a1094>] execute_on_irq_stack+0xac/0xbc
 [<101a1b9c>] do_softirq_own_stack+0x38/0x48
 [<101cb480>] irq_exit+0xa4/0xbc
 [<101a1e88>] do_cpu_irq_mask+0x2dc/0x328
 [<101a5068>] intr_return+0x0/0xc

Testing a saved backtrace.
The following trace is a kernel self test and not a bug!
 dump_trace+0x78/0xb8
 save_stack_trace+0x40/0x78
 backtrace_regression_test+0x13c/0x180
 do_one_initcall+0xd0/0x1dc
 0x10101754
 kernel_init+0x34/0x158
 ret_from_kernel_thread+0x1c/0x24
 0xffffffff
====[ end of backtrace testing ]====
workingset: timestamp_bits=14 max_order=17 bucket_order=3
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
test_bitfield: tests passed
PDC Stable Storage facility v0.30
STI GSC/PCI core graphics driver Version 0.9b
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
console [ttyS0] disabled
8:0:63: ttyS0 at MMIO 0xfff83800 (irq = 16, base_baud = 454545) is a 16550A
console [ttyS0] enabled
console [ttyS0] enabled
bootconsole [ttyB0] disabled
bootconsole [ttyB0] disabled
Linux agpgart interface v0.103
brd: module loaded
loop: module loaded
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
ide-cd driver 5.00
sym53c8xx 0000:00:00.0: enabling SERR and PARITY (0107 -> 0147)
sym0: <895a> rev 0x0 at pci 0000:00:00.0 irq 17
sym0: PA-RISC Firmware, ID 7, Fast-40, LVD, parity checking
sym0: SCSI BUS has been reset.
scsi host0: sym-2.2.3
random: fast init done
scsi 0:0:2:0: CD-ROM            QEMU     QEMU CD-ROM      2.5+ PQ: 0 ANSI: 5
scsi target0:0:2: tagged command queuing enabled, command queue depth 16.
scsi target0:0:2: Beginning Domain Validation
scsi target0:0:2: Domain Validation skipping write tests
scsi target0:0:2: Ending Domain Validation
st: Version 20160209, fixed bufsize 32768, s/g segs 256
sr 0:0:2:0: Power-on or device reset occurred
sr 0:0:2:0: [sr0] scsi3-mmc drive: 16x/50x cd/rw xa/form2 cdda tray
cdrom: Uniform CD-ROM driver Revision: 3.20
sr 0:0:2:0: Attached scsi generic sg0 type 5
e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
e100: Copyright(c) 1999-2006 Intel Corporation
e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
e1000: Copyright (c) 1999-2006 Intel Corporation.
e1000 0000:00:01.0: enabling SERR and PARITY (0103 -> 0143)
e1000 0000:00:01.0 eth0: (PCI:33MHz:32-bit) 52:54:00:12:34:56
e1000 0000:00:01.0 eth0: Intel(R) PRO/1000 Network Connection
LASI 82596 driver - Revision: 1.30
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-pci: OHCI PCI platform driver
uhci_hcd: USB Universal Host Controller Interface driver
HP SDC: No SDC found.
mousedev: PS/2 mouse device common for all mice
rtc-generic rtc-generic: rtc core: registered rtc-generic as rtc0
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 17
rtc-generic rtc-generic: setting system clock to 2018-09-26 16:18:14 UTC (1537978694)
Unstable clock detected, switching default tracing clock to "global"
If you want to keep using the local clock, then add:
  "trace_clock=local"
on the kernel command line
Freeing unused kernel memory: 624K
Write protecting the kernel read-only data: 1655k
Run /sbin/init as init process
Starting logging: OK
Initializing random number generator... random: dd: uninitialized urandom read (512 bytes read)
done.
Starting network: OK
Found console ttyS0

Boot successful.
Rebooting
Found console ttyS0
Stopping network: OK
Saving random seed... random: dd: uninitialized urandom read (512 bytes read)
done.
Stopping logging: OK
umount: devtmpfs busy - remounted read-only
umount: can't unmount /: Invalid argument
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system reboot
reboot: Restarting system

SeaBIOS: PDC_BROADCAST_RESET (reset system) called with ARG3=fee1dead ARG4=10b0be60
SeaBIOS wants SYSTEM RESET.
***************************




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

  Powered by Linux