Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Nov 2020 19:36:21 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        mmel@freebsd.org
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r368124 - in head/sys: cam cam/ata cam/ctl cam/mmc cam/nvme cam/scsi compat/linprocfs compat/linux conf contrib/openzfs/module/os/freebsd/zfs dev/ahci dev/ata dev/firewire dev/flash dev...
Message-ID:  <X8PcFU9d8IlwLJJw@kib.kiev.ua>
In-Reply-To: <56ede111-cf89-366e-fbda-aa26f4a78a23@freebsd.org>
References:  <202011281212.0ASCCpjQ006999@repo.freebsd.org> <56ede111-cf89-366e-fbda-aa26f4a78a23@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 29, 2020 at 02:03:57PM +0100, Michal Meloun wrote:
> On 28.11.2020 13:12, Konstantin Belousov wrote:
> > Author: kib
> > Date: Sat Nov 28 12:12:51 2020
> > New Revision: 368124
> > URL: https://svnweb.freebsd.org/changeset/base/368124
> > 
> > Log:
> >    Make MAXPHYS tunable.  Bump MAXPHYS to 1M.
> > 
> Unfortunately, bumping MAXPHYS broke arm kernel. The kernel runs out of KVA
> while running 'pbuf' keg init function. This causes that keg_alloc_slab()
> always returns NULL and for cycle in uma_prealloc() newer ends (whish should
> be considered as another bug).
> Do you think that MAXPHYS constant can depends on given arch?
> 128k (or 256k) sounds reasonable for arm32 systems...

I think it is reasonable to return to 128KB for 32bit systems.

diff --git a/sys/sys/param.h b/sys/sys/param.h
index 00fb0c860e7..076b1fcde05 100644
--- a/sys/sys/param.h
+++ b/sys/sys/param.h
@@ -159,8 +159,12 @@
 #ifndef DFLTPHYS
 #define DFLTPHYS	(64 * 1024)	/* default max raw I/O transfer size */
 #endif
-#ifndef MAXPHYS
-#define MAXPHYS		(1024 * 1024)	/* max raw I/O transfer size */
+#ifndef MAXPHYS				/* max raw I/O transfer size */
+#ifdef __ILP32__
+#define MAXPHYS		(128 * 1024)
+#else
+#define MAXPHYS		(1024 * 1024)
+#endif
 #endif
 #ifndef MAXDUMPPGS
 #define MAXDUMPPGS	(DFLTPHYS/PAGE_SIZE)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?X8PcFU9d8IlwLJJw>