On Thu, Aug 16, 2012 at 03:51:29PM -0600, Mark Post wrote: > >>> On 8/16/2012 at 05:11 PM, David Boyes <[email protected]> wrote: > > Does it still need a EW segment, or is it now well behaved for shared R/O? > > I guess it does. From /usr/src/linux/arch/s390/kernel/early.c: > hlen = snprintf(defsys_cmd, DEFSYS_CMD_SIZE, > "DEFSYS %s 00000-%.5X EW %.5X-%.5X SR %.5X-%.5X", > kernel_nss_name, stext_pfn - 1, stext_pfn, > eshared_pfn - 1, eshared_pfn, end_pfn); > > #ifdef CONFIG_BLK_DEV_INITRD > if (INITRD_START && INITRD_SIZE) { > sinitrd_pfn = PFN_DOWN(__pa(INITRD_START)); > einitrd_pfn = PFN_UP(__pa(INITRD_START + INITRD_SIZE)); > min_size = einitrd_pfn << 2; > hlen += snprintf(defsys_cmd + hlen, DEFSYS_CMD_SIZE - hlen, > " EW %.5X-%.5X", sinitrd_pfn, einitrd_pfn); > } > #endif > > snprintf(defsys_cmd + hlen, DEFSYS_CMD_SIZE - hlen, > " EW MINSIZE=%.7iK PARMREGS=0-13", min_size); > defsys_cmd[DEFSYS_CMD_SIZE - 1] = '\0'; > snprintf(savesys_cmd, SAVESYS_CMD_SIZE, "SAVESYS %s \n IPL %s", > kernel_nss_name, kernel_nss_name); > savesys_cmd[SAVESYS_CMD_SIZE - 1] = '\0'; > > __cpcmd(defsys_cmd, NULL, 0, &response); > > > I can't say I understand why EW is being used. Perhaps one of the guys in > IBM development can comment on that.
EW is being used for the first MB, since it contains the lowcore page 0 and 1 and therefore can't be shared. In addition we need EW for the RW data section of the kernel and - if present - for the initrd since it gets freed after initial usage. Shared are the text section and the RO data section of the kernel. ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 ---------------------------------------------------------------------- For more information on Linux on System z, visit http://wiki.linuxvm.org/
