cbaines pushed a commit to branch master
in repository data-service.
commit 93eac06fd6d948a0fb893e0acd01f587285df175
Author: Christopher Baines <[email protected]>
AuthorDate: Sun Dec 29 11:05:07 2024 +0000
Update Guile Knots
---
guix-data-service/jobs/load-new-guix-revision.scm | 59 ++++++++++++-----------
guix-dev.scm | 5 +-
2 files changed, 35 insertions(+), 29 deletions(-)
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm
b/guix-data-service/jobs/load-new-guix-revision.scm
index e18528a..83a43a0 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -966,7 +966,7 @@
(chunk! missing-file-names 1000)))))
(define* (insert-missing-derivations postgresql-connection-pool
- utility-thread-channel
+ call-with-utility-thread
derivation-ids-hash-table
unfiltered-derivations
#:key (log-tag "unspecified"))
@@ -1081,10 +1081,9 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
id)
#t)
(_ #f)))
- ;; Use the utility-thread-channel to control concurrency
here,
- ;; to avoid using too much memory
- (call-with-worker-thread
- utility-thread-channel
+ ;; Use a utility thread to control concurrency here, to
+ ;; avoid using too much memory
+ (call-with-utility-thread
(lambda ()
(let ((nar-bytevector
(call-with-values
@@ -1163,7 +1162,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(lambda (chunk)
(insert-missing-derivations
postgresql-connection-pool
- utility-thread-channel
+ call-with-utility-thread
derivation-ids-hash-table
chunk
#:log-tag log-tag))
@@ -1183,7 +1182,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
derivations))))))
(define* (derivation-file-names->derivation-ids postgresql-connection-pool
- utility-thread-channel
+ call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
derivation-file-names
@@ -1228,7 +1227,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
i
log-tag)
(insert-missing-derivations postgresql-connection-pool
- utility-thread-channel
+ call-with-utility-thread
derivation-ids-hash-table
missing-derivations-chunk
#:log-tag log-tag)))
@@ -1747,7 +1746,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
commit
guix-source store-item
guix-derivation
- utility-thread-channel
+ call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
#:key skip-system-tests?
@@ -1923,8 +1922,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
name
network-dependent
;; Uses of sort may cause problems
- (call-with-worker-thread
- utility-thread-channel
+ (call-with-utility-thread
(lambda ()
(lint-checker-description-data->lint-checker-description-set-id
conn
@@ -2087,7 +2085,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
system target)
(derivation-file-names->derivation-ids
postgresql-connection-pool
- utility-thread-channel
+ call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
derivations-vector
@@ -2170,7 +2168,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(derivation-ids
(derivation-file-names->derivation-ids
postgresql-connection-pool
- utility-thread-channel
+ call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
(list->vector
@@ -2200,7 +2198,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(prevent-inlining-for-tests extract-information-from)
-(define (load-channel-instances utility-thread-channel
+(define (load-channel-instances call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
git-repository-id commit
@@ -2250,7 +2248,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(derivation-ids
(derivation-file-names->derivation-ids
postgresql-connection-pool
- utility-thread-channel
+ call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
(list->vector (map cdr derivations-by-system)))))
@@ -2271,18 +2269,25 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(define* (load-new-guix-revision conn git-repository-id commit
#:key skip-system-tests? parallelism
extra-inferior-environment-variables)
- (define utility-thread-channel
- ;; There might be high demand for this, so order the requests
- (spawn-queueing-fiber
- (call-with-default-io-waiters
- (lambda ()
- (make-worker-thread-channel
- (const '())
- #:parallelism parallelism)))))
+ (define call-with-utility-thread
+ (let* ((worker-thread-set
+ (call-with-default-io-waiters
+ (lambda ()
+ (make-worker-thread-set
+ (const '())
+ #:parallelism parallelism))))
+ (queued-channel
+ ;; There might be high demand for this, so order the requests
+ (spawn-queueing-fiber
+ (worker-thread-set-channel worker-thread-set))))
+ (lambda (thunk)
+ (call-with-worker-thread
+ worker-thread-set
+ thunk
+ #:channel queued-channel))))
(define (read-derivations filenames)
- (call-with-worker-thread
- utility-thread-channel
+ (call-with-utility-thread
(lambda ()
(map (lambda (filename)
(if (file-exists? filename)
@@ -2331,7 +2336,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(let ((guix-source
channel-derivations-by-system
(fibers-force channel-derivations-by-system-promise)))
- (load-channel-instances utility-thread-channel
+ (load-channel-instances call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
git-repository-id commit
@@ -2358,7 +2363,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
guix-revision-id-promise
commit guix-source store-item
guix-derivation
- utility-thread-channel
+ call-with-utility-thread
read-derivations/fiberized
derivation-ids-hash-table
#:skip-system-tests?
diff --git a/guix-dev.scm b/guix-dev.scm
index eec15ec..138b18c 100644
--- a/guix-dev.scm
+++ b/guix-dev.scm
@@ -42,7 +42,7 @@
(srfi srfi-1))
(define guile-knots
- (let ((commit "0fab93e9ff5b16813ae1356c13d3c974d7277d81")
+ (let ((commit "6119ece5cba6cbdc638ccfb19aba52ea246dfe50")
(revision "1"))
(package
(name "guile-knots")
@@ -54,7 +54,7 @@
(commit commit)))
(sha256
(base32
- "1x0wirq0db2704784ig00kz5kh8j6szp2gwm67wn714m1jbhz9ky"))
+ "1dn9mrla0inhmfcyl725jh6dfwrg6xd56jp7c3n3plmjz3knyfmj"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
@@ -62,6 +62,7 @@
autoconf
automake
guile-3.0
+ guile-lib
guile-fibers))
(inputs
(list guile-3.0))