summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/vm
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@fingolfin.org>2022-01-16 00:50:33 +0000
committerRobert Mustacchi <rm@fingolfin.org>2022-02-10 01:02:41 +0000
commit3df2e8b2fd61f45437285750d2880d6416a9200c (patch)
treeed534bbfad814fc67527b11322cf7d5417f3965f /usr/src/uts/common/vm
parent23c2e9a7f93c300498401f18385284ef6417fc2c (diff)
downloadillumos-joyent-3df2e8b2fd61f45437285750d2880d6416a9200c.tar.gz
14407 unix, genunix partial warning cleanup
Reviewed by: Andy Fiddaman <andy@omnios.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Rich Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src/uts/common/vm')
-rw-r--r--usr/src/uts/common/vm/page.h2
-rw-r--r--usr/src/uts/common/vm/page_retire.c3
-rw-r--r--usr/src/uts/common/vm/seg_kmem.c4
-rw-r--r--usr/src/uts/common/vm/seg_map.c2
-rw-r--r--usr/src/uts/common/vm/vm_as.c14
-rw-r--r--usr/src/uts/common/vm/vm_page.c2
-rw-r--r--usr/src/uts/common/vm/vm_pagelist.c48
7 files changed, 8 insertions, 67 deletions
diff --git a/usr/src/uts/common/vm/page.h b/usr/src/uts/common/vm/page.h
index 5b98acd24f..b2f61429e9 100644
--- a/usr/src/uts/common/vm/page.h
+++ b/usr/src/uts/common/vm/page.h
@@ -635,7 +635,7 @@ typedef page_t devpage_t;
extern pad_mutex_t ph_mutex[];
#define PAGE_HASH_MUTEX(x) \
- &(ph_mutex[((x) ^ ((x) >> PH_SHIFT_SIZE) + ((x) << 3)) & \
+ &(ph_mutex[((x) ^ (((x) >> PH_SHIFT_SIZE) + ((x) << 3))) & \
(PH_TABLE_SIZE - 1)].pad_mutex)
/*
diff --git a/usr/src/uts/common/vm/page_retire.c b/usr/src/uts/common/vm/page_retire.c
index f4e8d0737f..c3d9014e47 100644
--- a/usr/src/uts/common/vm/page_retire.c
+++ b/usr/src/uts/common/vm/page_retire.c
@@ -603,7 +603,7 @@ page_clear_transient_ue(page_t *pp)
uint64_t pa;
uint32_t pa_hi, pa_lo;
on_trap_data_t otd;
- int errors = 0;
+ int errors;
int i;
ASSERT(PAGE_EXCL(pp));
@@ -647,6 +647,7 @@ page_clear_transient_ue(page_t *pp)
PR_MESSAGE(CE_WARN, 1, MSG_UE, pa);
errors = 1;
} else {
+ errors = 0;
for (wb = 0xff; wb > 0; wb--) {
for (i = 0; i < PAGESIZE; i++) {
kaddr[i] = wb;
diff --git a/usr/src/uts/common/vm/seg_kmem.c b/usr/src/uts/common/vm/seg_kmem.c
index 540f2b251b..0bab4eb76d 100644
--- a/usr/src/uts/common/vm/seg_kmem.c
+++ b/usr/src/uts/common/vm/seg_kmem.c
@@ -163,14 +163,14 @@ static segkmem_lpcb_t segkmem_lpcb;
* we allow for large page heap.
*/
size_t segkmem_kmemlp_max;
-static uint_t segkmem_kmemlp_pcnt;
+uint_t segkmem_kmemlp_pcnt;
/*
* Getting large pages for kernel heap could be problematic due to
* physical memory fragmentation. That's why we allow to preallocate
* "segkmem_kmemlp_min" bytes at boot time.
*/
-static size_t segkmem_kmemlp_min;
+size_t segkmem_kmemlp_min;
/*
* Throttling is used to avoid expensive tries to allocate large pages
diff --git a/usr/src/uts/common/vm/seg_map.c b/usr/src/uts/common/vm/seg_map.c
index f08afe1066..6c41b04344 100644
--- a/usr/src/uts/common/vm/seg_map.c
+++ b/usr/src/uts/common/vm/seg_map.c
@@ -333,7 +333,7 @@ segmap_create(struct seg *seg, void *argsp)
nfreelist = a->nfreelist;
if (nfreelist == 0)
nfreelist = max_ncpus;
- else if (nfreelist < 0 || nfreelist > 4 * max_ncpus) {
+ else if (nfreelist > 4 * max_ncpus) {
cmn_err(CE_WARN, "segmap_create: nfreelist out of range "
"%d, using %d", nfreelist, max_ncpus);
nfreelist = max_ncpus;
diff --git a/usr/src/uts/common/vm/vm_as.c b/usr/src/uts/common/vm/vm_as.c
index e4accd6fc8..e353692471 100644
--- a/usr/src/uts/common/vm/vm_as.c
+++ b/usr/src/uts/common/vm/vm_as.c
@@ -452,7 +452,6 @@ as_addseg(struct as *as, struct seg *newseg)
addr = newseg->s_base;
eaddr = addr + newseg->s_size;
-again:
seg = avl_find(&as->a_segtree, &addr, &where);
@@ -473,19 +472,6 @@ again:
*/
if (base + seg->s_size > addr) {
if (addr >= base || eaddr > base) {
-#ifdef __sparc
- extern struct seg_ops segnf_ops;
-
- /*
- * no-fault segs must disappear if overlaid.
- * XXX need new segment type so
- * we don't have to check s_ops
- */
- if (seg->s_ops == &segnf_ops) {
- seg_unmap(seg);
- goto again;
- }
-#endif
return (-1); /* overlapping segment */
}
}
diff --git a/usr/src/uts/common/vm/vm_page.c b/usr/src/uts/common/vm/vm_page.c
index d93400c343..131ee0ba1c 100644
--- a/usr/src/uts/common/vm/vm_page.c
+++ b/usr/src/uts/common/vm/vm_page.c
@@ -3654,7 +3654,7 @@ page_add_common(page_t **ppp, page_t *pp)
void
page_sub(page_t **ppp, page_t *pp)
{
- ASSERT((PP_ISFREE(pp)) ? 1 :
+ ASSERT(pp != NULL && (PP_ISFREE(pp)) ? 1 :
(PAGE_EXCL(pp)) || (PAGE_SHARED(pp) && page_iolock_assert(pp)));
if (*ppp == NULL || pp == NULL) {
diff --git a/usr/src/uts/common/vm/vm_pagelist.c b/usr/src/uts/common/vm/vm_pagelist.c
index 965d939ebc..394d9b97fb 100644
--- a/usr/src/uts/common/vm/vm_pagelist.c
+++ b/usr/src/uts/common/vm/vm_pagelist.c
@@ -1866,7 +1866,7 @@ mach_page_add(page_t **ppp, page_t *pp)
void
mach_page_sub(page_t **ppp, page_t *pp)
{
- ASSERT(PP_ISFREE(pp));
+ ASSERT(pp != NULL && PP_ISFREE(pp));
if (*ppp == NULL || pp == NULL)
panic("mach_page_sub");
@@ -2278,9 +2278,6 @@ page_freelist_coalesce(int mnode, uchar_t szc, uint_t color, uint_t ceq_mask,
pgcnt_t cands = 0, szcpgcnt = page_get_pagecnt(szc);
page_t *ret_pp;
MEM_NODE_ITERATOR_DECL(it);
-#if defined(__sparc)
- pfn_t pfnum0, nlo, nhi;
-#endif
if (mpss_coalesce_disable) {
ASSERT(szc < MMU_PAGE_SIZES);
@@ -2380,40 +2377,8 @@ page_freelist_coalesce(int mnode, uchar_t szc, uint_t color, uint_t ceq_mask,
idx0 = PNUM_TO_IDX(mnode, r, pfnum);
ASSERT(idx0 < len);
-#if defined(__sparc)
- pfnum0 = pfnum; /* page corresponding to idx0 */
- nhi = 0; /* search kcage ranges */
-#endif
-
for (idx = idx0; wrap == 0 || (idx < idx0 && wrap < 2); ) {
-#if defined(__sparc)
- /*
- * Find lowest intersection of kcage ranges and mnode.
- * MTYPE_NORELOC means look in the cage, otherwise outside.
- */
- if (nhi <= pfnum) {
- if (kcage_next_range(mtype == MTYPE_NORELOC, pfnum,
- (wrap == 0 ? hi : pfnum0), &nlo, &nhi))
- goto wrapit;
-
- /* jump to the next page in the range */
- if (pfnum < nlo) {
- pfnum = P2ROUNDUP(nlo, szcpgcnt);
- MEM_NODE_ITERATOR_INIT(pfnum, mnode, szc, &it);
- idx = PNUM_TO_IDX(mnode, r, pfnum);
- if (idx >= len || pfnum >= hi)
- goto wrapit;
- if ((PFN_2_COLOR(pfnum, szc, &it) ^ color) &
- ceq_mask)
- goto next;
- if (interleaved_mnodes &&
- PFN_2_MEM_NODE(pfnum) != mnode)
- goto next;
- }
- }
-#endif
-
if (PAGE_COUNTERS(mnode, r, idx) != full)
goto next;
@@ -2432,14 +2397,7 @@ page_freelist_coalesce(int mnode, uchar_t szc, uint_t color, uint_t ceq_mask,
PFN_2_COLOR(pfnum, szc, &it), mrange) = idx;
page_freelist_unlock(mnode);
rw_exit(&page_ctrs_rwlock[mnode]);
-#if defined(__sparc)
- if (PP_ISNORELOC(ret_pp)) {
- pgcnt_t npgs;
- npgs = page_get_pagecnt(ret_pp->p_szc);
- kcage_freemem_sub(npgs);
- }
-#endif
return (ret_pp);
}
} else {
@@ -2467,14 +2425,10 @@ next:
color_mask, &it);
idx = PNUM_TO_IDX(mnode, r, pfnum);
if (idx >= len || pfnum >= hi) {
-wrapit:
pfnum = lo;
MEM_NODE_ITERATOR_INIT(pfnum, mnode, szc, &it);
idx = PNUM_TO_IDX(mnode, r, pfnum);
wrap++;
-#if defined(__sparc)
- nhi = 0; /* search kcage ranges */
-#endif
}
}