msm-4.14/Documentation
Vaibhav Jain c9debbd1a5 cxl: Disable prefault_mode in Radix mode
commit b6c84ba22ff3a198eb8d5552cf9b8fda1d792e54 upstream.

Currently we see a kernel-oops reported on Power-9 while attaching a
context to an AFU, with radix-mode and sysfs attr 'prefault_mode' set
to anything other than 'none'. The backtrace of the oops is of this
form:

  Unable to handle kernel paging request for data at address 0x00000080
  Faulting instruction address: 0xc00800000bcf3b20
  cpu 0x1: Vector: 300 (Data Access) at [c00000037f003800]
      pc: c00800000bcf3b20: cxl_load_segment+0x178/0x290 [cxl]
      lr: c00800000bcf39f0: cxl_load_segment+0x48/0x290 [cxl]
      sp: c00000037f003a80
     msr: 9000000000009033
     dar: 80
   dsisr: 40000000
    current = 0xc00000037f280000
    paca    = 0xc0000003ffffe600   softe: 3        irq_happened: 0x01
      pid   = 3529, comm = afp_no_int
  <snip>
  cxl_prefault+0xfc/0x248 [cxl]
  process_element_entry_psl9+0xd8/0x1a0 [cxl]
  cxl_attach_dedicated_process_psl9+0x44/0x130 [cxl]
  native_attach_process+0xc0/0x130 [cxl]
  afu_ioctl+0x3f4/0x5e0 [cxl]
  do_vfs_ioctl+0xdc/0x890
  ksys_ioctl+0x68/0xf0
  sys_ioctl+0x40/0xa0
  system_call+0x58/0x6c

The issue is caused as on Power-8 the AFU attr 'prefault_mode' was
used to improve initial storage fault performance by prefaulting
process segments. However on Power-9 with radix mode we don't have
Storage-Segments that we can prefault. Also prefaulting process Pages
will be too costly and fine-grained.

Hence, since the prefaulting mechanism doesn't makes sense of
radix-mode, this patch updates prefault_mode_store() to not allow any
other value apart from CXL_PREFAULT_NONE when radix mode is enabled.

Fixes: f24be42aab37 ("cxl: Add psl9 specific code")
Cc: stable@vger.kernel.org # v4.12+
Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-03 11:24:51 +02:00
..
2017-09-07 21:11:05 -07:00
2017-10-19 22:26:11 -04:00
2018-02-22 15:42:24 +01:00
2017-08-30 15:18:24 -06:00
2017-05-02 17:34:32 -07:00
2017-09-04 00:06:02 +02:00
2017-07-07 13:55:45 -07:00
2017-05-16 08:44:18 -03:00
2017-07-06 10:56:51 -07:00
2017-09-22 16:16:41 -10:00
2017-08-25 17:58:34 +03:00
2018-01-23 19:58:20 +01:00
2017-07-07 14:04:47 -07:00
2017-07-14 13:51:29 -06:00
2017-08-19 11:02:53 -07:00
2017-07-14 13:51:34 -06:00
2017-07-14 13:51:40 -06:00
2017-07-14 13:51:42 -06:00
2017-07-14 13:51:43 -06:00
2017-07-14 13:51:43 -06:00
2017-07-14 13:51:45 -06:00
2017-07-14 13:51:45 -06:00
2017-07-14 13:51:46 -06:00
2017-07-14 13:57:58 -06:00
2017-07-14 13:57:59 -06:00
2017-07-06 08:23:30 +02:00
2017-07-07 13:14:14 +02:00
2017-07-14 13:58:04 -06:00
2017-07-14 13:58:08 -06:00
2017-07-14 13:58:14 -06:00
2017-07-14 13:58:10 -06:00
2017-07-14 13:58:11 -06:00