CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2023-10-18 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Oct 18 12:16:40 UTC 2023

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: misc.c

Log Message:
Apply patch, requested by riastradh in ticket #1752:

external/cddl/osnet/sys/kern/misc.c (apply patch)

Restore thread_create symbol for compatibility (after removal in
pullup-9 #1711).


To generate a diff of this commit:
cvs rdiff -u -r1.5.4.2 -r1.5.4.3 src/external/cddl/osnet/sys/kern/misc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/sys/kern/misc.c
diff -u src/external/cddl/osnet/sys/kern/misc.c:1.5.4.2 src/external/cddl/osnet/sys/kern/misc.c:1.5.4.3
--- src/external/cddl/osnet/sys/kern/misc.c:1.5.4.2	Wed Aug  9 17:25:00 2023
+++ src/external/cddl/osnet/sys/kern/misc.c	Wed Oct 18 12:16:40 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: misc.c,v 1.5.4.2 2023/08/09 17:25:00 martin Exp $	*/
+/*	$NetBSD: misc.c,v 1.5.4.3 2023/10/18 12:16:40 martin Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -93,6 +93,18 @@ vn_is_readonly(vnode_t *vp)
 	return (vp->v_mount->mnt_flag & MNT_RDONLY);
 }
 
+#undef thread_create
+kthread_t *thread_create(void *, size_t, void (*)(void *), void *, size_t,
+proc_t *, int, pri_t);
+kthread_t *
+thread_create(void *stk, size_t stksize, void (*proc)(), void *arg,
+size_t len, proc_t *pp, int state, pri_t pri)
+{
+
+	return solaris__thread_create(stk, stksize, proc, arg, len, pp, state,
+	pri, "zfs");
+}
+
 kthread_t *
 solaris__thread_create(void * stk, size_t stksize, void (*proc)(), void *arg,
 size_t len, proc_t *pp, int state, pri_t pri, const char *name)



CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2023-10-18 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Oct 18 12:16:40 UTC 2023

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: misc.c

Log Message:
Apply patch, requested by riastradh in ticket #1752:

external/cddl/osnet/sys/kern/misc.c (apply patch)

Restore thread_create symbol for compatibility (after removal in
pullup-9 #1711).


To generate a diff of this commit:
cvs rdiff -u -r1.5.4.2 -r1.5.4.3 src/external/cddl/osnet/sys/kern/misc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2023-10-02 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Oct  2 13:31:14 UTC 2023

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: kmem.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1735):

external/cddl/osnet/sys/kern/kmem.c: revision 1.4

solaris: Use pool_cache_reclaim, not pool_cache_invalidate.

pool_cache_invalidate invalidates cached objects, but doesn't return
any backing pages to the underlying page allocator.
pool_cache_reclaim does pool_cache_invalidate _and_ reutrns backing
pages to the underlying page alloator, so it is actually useful for
the page daemon to do when trying to free memory.

PR kern/57558


To generate a diff of this commit:
cvs rdiff -u -r1.2.2.1 -r1.2.2.2 src/external/cddl/osnet/sys/kern/kmem.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2023-10-02 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Oct  2 13:31:14 UTC 2023

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: kmem.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1735):

external/cddl/osnet/sys/kern/kmem.c: revision 1.4

solaris: Use pool_cache_reclaim, not pool_cache_invalidate.

pool_cache_invalidate invalidates cached objects, but doesn't return
any backing pages to the underlying page allocator.
pool_cache_reclaim does pool_cache_invalidate _and_ reutrns backing
pages to the underlying page alloator, so it is actually useful for
the page daemon to do when trying to free memory.

PR kern/57558


To generate a diff of this commit:
cvs rdiff -u -r1.2.2.1 -r1.2.2.2 src/external/cddl/osnet/sys/kern/kmem.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/sys/kern/kmem.c
diff -u src/external/cddl/osnet/sys/kern/kmem.c:1.2.2.1 src/external/cddl/osnet/sys/kern/kmem.c:1.2.2.2
--- src/external/cddl/osnet/sys/kern/kmem.c:1.2.2.1	Wed Aug  3 15:54:23 2022
+++ src/external/cddl/osnet/sys/kern/kmem.c	Mon Oct  2 13:31:14 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kmem.c,v 1.2.2.1 2022/08/03 15:54:23 martin Exp $	*/
+/*	$NetBSD: kmem.c,v 1.2.2.2 2023/10/02 13:31:14 martin Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -123,7 +123,7 @@ void
 kmem_cache_reap_now(kmem_cache_t *km)
 {
 
-	pool_cache_invalidate(km->km_pool);
+	pool_cache_reclaim(km->km_pool);
 }
 
 #undef kmem_alloc



CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2022-08-03 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug  3 15:54:23 UTC 2022

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: kmem.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1494):

external/cddl/osnet/sys/kern/kmem.c: revision 1.3

kmem_cache_create()'s "name" parameter can be on the stack,
so make a copy of it rather than keeping a pointer to it.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.2.1 src/external/cddl/osnet/sys/kern/kmem.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/sys/kern/kmem.c
diff -u src/external/cddl/osnet/sys/kern/kmem.c:1.2 src/external/cddl/osnet/sys/kern/kmem.c:1.2.2.1
--- src/external/cddl/osnet/sys/kern/kmem.c:1.2	Thu May 23 08:32:30 2019
+++ src/external/cddl/osnet/sys/kern/kmem.c	Wed Aug  3 15:54:23 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: kmem.c,v 1.2 2019/05/23 08:32:30 hannken Exp $	*/
+/*	$NetBSD: kmem.c,v 1.2.2.1 2022/08/03 15:54:23 martin Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -30,6 +30,7 @@
 
 struct kmem_cache {
 	pool_cache_t km_pool;
+	char km_name[32];
 	void *km_private;
 	int (*km_constructor)(void *, void *, int);
 	void (*km_destructor)(void *, void *);
@@ -78,11 +79,12 @@ kmem_cache_create(char *name, size_t buf
 	KASSERT(vmp == NULL);
 
 	km = kmem_zalloc(sizeof(*km), KM_SLEEP);
+	strlcpy(km->km_name, name, sizeof(km->km_name));
 	km->km_private = private;
 	km->km_constructor = constructor;
 	km->km_destructor = destructor;
 	km->km_reclaim = reclaim;
-	km->km_pool = pool_cache_init(bufsize, align, 0, 0, name, NULL,
+	km->km_pool = pool_cache_init(bufsize, align, 0, 0, km->km_name, NULL,
 	IPL_NONE, solaris_constructor, solaris_destructor, km);
 	if (km->km_pool == NULL) {
 		kmem_free(km, sizeof(*km));



CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2022-08-03 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug  3 15:54:23 UTC 2022

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: kmem.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1494):

external/cddl/osnet/sys/kern/kmem.c: revision 1.3

kmem_cache_create()'s "name" parameter can be on the stack,
so make a copy of it rather than keeping a pointer to it.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.2.1 src/external/cddl/osnet/sys/kern/kmem.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2019-08-20 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Tue Aug 20 11:45:35 UTC 2019

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: taskq.c

Log Message:
Pull up following revision(s) (requested by hannken in ticket #102):

external/cddl/osnet/sys/kern/taskq.c: revision 1.11

task_executor: prevent use after free, the task function may free
the tasq entry.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.10.2.1 src/external/cddl/osnet/sys/kern/taskq.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-9] src/external/cddl/osnet/sys/kern

2019-08-20 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Tue Aug 20 11:45:35 UTC 2019

Modified Files:
src/external/cddl/osnet/sys/kern [netbsd-9]: taskq.c

Log Message:
Pull up following revision(s) (requested by hannken in ticket #102):

external/cddl/osnet/sys/kern/taskq.c: revision 1.11

task_executor: prevent use after free, the task function may free
the tasq entry.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.10.2.1 src/external/cddl/osnet/sys/kern/taskq.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/sys/kern/taskq.c
diff -u src/external/cddl/osnet/sys/kern/taskq.c:1.10 src/external/cddl/osnet/sys/kern/taskq.c:1.10.2.1
--- src/external/cddl/osnet/sys/kern/taskq.c:1.10	Tue Jun 11 09:05:33 2019
+++ src/external/cddl/osnet/sys/kern/taskq.c	Tue Aug 20 11:45:35 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: taskq.c,v 1.10 2019/06/11 09:05:33 hannken Exp $	*/
+/*	$NetBSD: taskq.c,v 1.10.2.1 2019/08/20 11:45:35 martin Exp $	*/
 
 /*-
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -75,6 +75,7 @@ task_executor(struct threadpool_job *job
 	struct taskq_executor *state = (struct taskq_executor *)job;
 	taskq_t *tq = state->te_self;
 	taskq_ent_t *tqe; 
+	bool is_dynamic;
 	int error;
 
 	lwp_setspecific(taskq_lwp_key, tq);
@@ -97,13 +98,14 @@ task_executor(struct threadpool_job *job
 		tqe = SIMPLEQ_FIRST(>tq_list);
 		KASSERT(tqe != NULL);
 		SIMPLEQ_REMOVE_HEAD(>tq_list, tqent_list);
+		is_dynamic = tqe->tqent_dynamic;
 		tqe->tqent_queued = 0;
 		mutex_exit(>tq_lock);
 
 		(*tqe->tqent_func)(tqe->tqent_arg);
 
 		mutex_enter(>tq_lock);
-		if (tqe->tqent_dynamic)
+		if (is_dynamic)
 			kmem_free(tqe, sizeof(*tqe));
 		tq->tq_active--;
 	}