From 86a5edca6238f4c9b861931e40d8cbe005568819 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 31 Jul 2023 10:58:03 -0700 Subject: [PATCH] Revert "std.os: implementing sched_setaffinity wrapper for freebsd" This reverts commit 05268bb9677ef0545cca6c788169b2707842dc8d. --- lib/std/c/freebsd.zig | 31 ------------------------------- lib/std/os.zig | 13 ------------- 2 files changed, 44 deletions(-) diff --git a/lib/std/c/freebsd.zig b/lib/std/c/freebsd.zig index b44a72fafc..d845f87753 100644 --- a/lib/std/c/freebsd.zig +++ b/lib/std/c/freebsd.zig @@ -18,41 +18,10 @@ fn __BIT_COUNT(bits: []const c_long) c_long { return count; } -fn __BIT_MASK(s: usize) c_long { - var x = s % CPU_SETSIZE; - return @as(c_long, @bitCast(@as(c_ulong, @intCast(1)) << @as(u6, @intCast(x)))); -} - pub fn CPU_COUNT(set: cpuset_t) c_int { return @as(c_int, @intCast(__BIT_COUNT(set.__bits[0..]))); } -pub fn CPU_ZERO(set: *cpuset_t) void { - @memset((set.*).__bits[0..], 0); -} - -pub fn CPU_SET(cpu: usize, set: *cpuset_t) void { - const x = cpu / @sizeOf(c_long); - if (x < @sizeOf(cpuset_t)) { - (set.*).__bits[x] |= __BIT_MASK(x); - } -} - -pub fn CPU_ISSET(cpu: usize, set: cpuset_t) void { - const x = cpu / @sizeOf(c_long); - if (x < @sizeOf(cpuset_t)) { - return set.__bits[x] & __BIT_MASK(x); - } - return false; -} - -pub fn CPU_CLR(cpu: usize, set: *cpuset_t) void { - const x = cpu / @sizeOf(c_long); - if (x < @sizeOf(cpuset_t)) { - (set.*).__bits[x] &= !__BIT_MASK(x); - } -} - pub const cpulevel_t = c_int; pub const cpuwhich_t = c_int; pub const id_t = i64; diff --git a/lib/std/os.zig b/lib/std/os.zig index 3cf22b77e7..dd9384bdf4 100644 --- a/lib/std/os.zig +++ b/lib/std/os.zig @@ -5537,19 +5537,6 @@ pub fn sched_setaffinity(pid: pid_t, cpus: []usize) SchedSetAffinityError!cpu_se .PERM => return error.PermissionDenied, else => |err| return unexpectedErrno(err), } - } else if (builtin.os.tag == .freebsd) { - freebsd.CPU_ZERO(&set); - for (cpus) |cpu| { - freebsd.CPU_SET(cpu, &set); - } - switch (errno(freebsd.cpuset_setaffinity(freebsd.CPU_LEVEL_WHICH, freebsd.CPU_WHICH_PID, pid, @sizeOf(cpu_set_t), &set))) { - .SUCCESS => return set, - .FAULT => unreachable, - .SRCH => unreachable, - .INVAL => return error.InvalidCpu, - .PERM => return error.PermissionDenied, - else => |err| return unexpectedErrno(err), - } } else { @compileError("unsupported platform"); }