Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
aports
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
649
Issues
649
List
Boards
Labels
Service Desk
Milestones
Merge Requests
209
Merge Requests
209
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
alpine
aports
Commits
1a9b8672
Commit
1a9b8672
authored
Mar 20, 2019
by
Michael Jeanson
Committed by
Natanael Copa
May 31, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
main/lttng-ust: upgrade to 2.10.3
parent
f699d4f9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
110 additions
and
5 deletions
+110
-5
main/lttng-ust/13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch
.../lttng-ust/13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch
+103
-0
main/lttng-ust/APKBUILD
main/lttng-ust/APKBUILD
+7
-5
No files found.
main/lttng-ust/13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch
0 → 100644
View file @
1a9b8672
From 13d2c5baf1565ba1daa2b96f5e4a297571c505b4 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Wed, 20 Mar 2019 11:07:35 -0400
Subject: [PATCH] compat: work around broken _SC_NPROCESSORS_CONF on MUSL libc
On MUSL libc the _SC_NPROCESSORS_CONF sysconf will report the number of
CPUs allocated to the task based on the affinity mask instead of the
total number of CPUs configured on the system.
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
---
libringbuffer/smp.c | 66 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/libringbuffer/smp.c b/libringbuffer/smp.c
index 9e7114be..656a75da 100644
--- a/libringbuffer/smp.c
+++ b/libringbuffer/smp.c
@@ -2,6 +2,7 @@
* libringbuffer/smp.c
*
* Copyright (C) 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -26,6 +27,7 @@
int __num_possible_cpus;
+#if (defined(__GLIBC__) || defined( __UCLIBC__))
void _get_num_possible_cpus(void)
{
int result;
@@ -43,3 +45,67 @@
void _get_num_possible_cpus(void)
return;
__num_possible_cpus = result;
}
+
+#else
+
+/*
+ * The MUSL libc implementation of the _SC_NPROCESSORS_CONF sysconf does not
+ * return the number of configured CPUs in the system but relies on the cpu
+ * affinity mask of the current task.
+ *
+ * So instead we use a strategy similar to GLIBC's, counting the cpu
+ * directories in "/sys/devices/system/cpu" and fallback on the value from
+ * sysconf if it fails.
+ */
+
+#include <dirent.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#define __max(a,b) ((a)>(b)?(a):(b))
+
+void _get_num_possible_cpus(void)
+{
+ int result, count = 0;
+ DIR *cpudir;
+ struct dirent *entry;
+
+ cpudir = opendir("/sys/devices/system/cpu");
+ if (cpudir == NULL)
+ goto end;
+
+ /*
+ * Count the number of directories named "cpu" followed by and
+ * integer. This is the same strategy as glibc uses.
+ */
+ while ((entry = readdir(cpudir))) {
+ if (entry->d_type == DT_DIR &&
+ strncmp(entry->d_name, "cpu", 3) == 0) {
+
+ char *endptr;
+ unsigned long cpu_num;
+
+ cpu_num = strtoul(entry->d_name + 3, &endptr, 10);
+ if ((cpu_num < ULONG_MAX) && (endptr != entry->d_name + 3)
+ && (*endptr == '\0')) {
+ count++;
+ }
+ }
+ }
+
+end:
+ /*
+ * Get the sysconf value as a fallback. Keep the highest number.
+ */
+ result = __max(sysconf(_SC_NPROCESSORS_CONF), count);
+
+ /*
+ * If both methods failed, don't store the value.
+ */
+ if (result < 1)
+ return;
+ __num_possible_cpus = result;
+}
+#endif
main/lttng-ust/APKBUILD
View file @
1a9b8672
# Contributor: Michael Jeanson <mjeanson@efficios.com>
# Maintainer: Michael Jeanson <mjeanson@efficios.com>
pkgname
=
lttng-ust
pkgver
=
2.10.
1
pkgrel
=
1
pkgver
=
2.10.
3
pkgrel
=
0
pkgdesc
=
"LTTng 2.0 Userspace Tracer"
url
=
"https://lttng.org"
arch
=
"all"
license
=
"LGPL-2.
0
-or-later"
license
=
"LGPL-2.
1
-or-later"
makedepends
=
"userspace-rcu-dev>0.10 util-linux-dev linux-headers bash"
install
=
""
subpackages
=
"
$pkgname
-doc
$pkgname
-dev"
source
=
"https://lttng.org/files/
$pkgname
/
$pkgname
-
$pkgver
.tar.bz2"
source
=
"https://lttng.org/files/
$pkgname
/
$pkgname
-
$pkgver
.tar.bz2
13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch"
builddir
=
"
$srcdir
"
/
$pkgname
-
$pkgver
...
...
@@ -34,4 +35,5 @@ package() {
make
DESTDIR
=
"
$pkgdir
"
install
}
sha512sums
=
"bd9b75ff359a8698ba4f7b6a27d9958c8bd9539fd43d8f1bc4bb40003271c9074f1bb4176d074bac290fad1636d5a3226063275006b781f3533567dea71fac96 lttng-ust-2.10.1.tar.bz2"
sha512sums
=
"6f646de3a12dbad096014f3069c3e702fb54b824b78770e777f6f877c76ffc48fae863b10c432bff1bba29caafdb5b76cb2b9cb88eb7340d5121300d2c0ff65d lttng-ust-2.10.3.tar.bz2
c91ea6ad2085f13de0508d0f238582bcd12f0460cb00f482a85fa5cfe8ec4ce675c084af27387f63cec9cc83430ca80fb995b289f44b515888efb796a97dc320 13d2c5baf1565ba1daa2b96f5e4a297571c505b4.patch"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment