Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/actions/rust-ci-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,27 @@ runs:
fi
fi

- name: Install Perl for vendored OpenSSL (Windows)
if: runner.os == 'Windows'
shell: powershell
run: |
choco install strawberryperl --yes --no-progress
$perlBin = 'C:\Strawberry\perl\bin'
if (-not (Test-Path $perlBin)) {
throw "expected Strawberry Perl at $perlBin"
}
$perlExe = Join-Path $perlBin 'perl.exe'
if (-not (Test-Path $perlExe)) {
throw "expected Perl executable at $perlExe"
}
$cBin = 'C:\Strawberry\c\bin'
Add-Content -Path $env:GITHUB_PATH -Value $perlBin
if (Test-Path $cBin) {
Add-Content -Path $env:GITHUB_PATH -Value $cBin
}
Add-Content -Path $env:GITHUB_ENV -Value "PERL=$perlExe"
& $perlExe -MLocale::Maketext::Simple -e "exit 0"

- name: Install Rust toolchain
if: ${{ inputs.install-rust-toolchain == 'true' }}
uses: dtolnay/rust-toolchain@stable
Expand Down
11 changes: 6 additions & 5 deletions crates/sof-observer/src/ingest/receiver/core.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#![allow(clippy::indexing_slicing)]

use std::io::{Error as IoError, ErrorKind, IoSliceMut};
#[cfg(target_os = "linux")]
use std::io::IoSliceMut;
use std::io::{Error as IoError, ErrorKind};
use std::net::SocketAddr;
#[cfg(target_os = "linux")]
use std::os::fd::{AsFd, AsRawFd};
Expand Down Expand Up @@ -621,7 +623,6 @@ fn should_shutdown(shutdown: Option<&Arc<AtomicBool>>) -> bool {

#[path = "io.rs"]
mod io;
use io::{
flush_batch, maybe_pin_receiver_thread, recv_udp_batch_coalesced, recv_udp_packet,
tune_udp_socket,
};
#[cfg(target_os = "linux")]
use io::recv_udp_batch_coalesced;
use io::{flush_batch, maybe_pin_receiver_thread, recv_udp_packet, tune_udp_socket};
8 changes: 6 additions & 2 deletions crates/sof-observer/src/ingest/receiver/io.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,18 @@
#![allow(clippy::arithmetic_side_effects)]

use super::*;
use std::{io, net::UdpSocket};
#[cfg(target_os = "linux")]
use std::{
io,
mem::{size_of, zeroed},
net::{Ipv4Addr, Ipv6Addr, SocketAddrV4, SocketAddrV6, UdpSocket},
net::{Ipv4Addr, Ipv6Addr, SocketAddrV4, SocketAddrV6},
ptr::null_mut,
};

use crate::ingest::RawPacketBatchSender;
#[cfg(test)]
use crate::ingest::config::read_udp_drop_on_channel_full;
#[cfg(target_os = "linux")]
use crate::ingest::config::{
read_udp_busy_poll_budget, read_udp_busy_poll_us, read_udp_prefer_busy_poll,
};
Expand Down Expand Up @@ -135,6 +137,8 @@ pub(super) fn recv_udp_packet(
rxq_ovfl_counter,
});
}
#[cfg(not(target_os = "linux"))]
let _ = track_rxq_ovfl;

let (len, source) = retry_on_interrupted(|| socket.recv_from(buffer))?;
Ok(UdpReceive {
Expand Down
5 changes: 3 additions & 2 deletions crates/sof-solana-gossip/src/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,17 @@ use {
solana_streamer::quic::DEFAULT_QUIC_ENDPOINTS,
solana_time_utils::timestamp,
std::{
env,
io,
iter::once,
net::{IpAddr, Ipv4Addr, SocketAddr, UdpSocket},
num::NonZero,
os::fd::AsRawFd,
sync::Arc,
},
};

#[cfg(target_os = "linux")]
use std::{env, os::fd::AsRawFd};

// Socket addresses for each protocol across all interfaces
#[derive(Debug, Clone)]
pub struct MultihomingAddresses {
Expand Down
30 changes: 17 additions & 13 deletions docs/gitbook/_layouts/website/page.html
Original file line number Diff line number Diff line change
Expand Up @@ -121,14 +121,16 @@
<div class="body-inner">
<div class="book-header" role="navigation">
<div class="book-header-inner">
<a class="sof-brand" href="{{ "/"|resolveFile }}">
<span class="sof-brand-mark" aria-hidden="true"></span>
<span class="sof-brand-text">SOF</span>
</a>

<div class="book-header-search">
<div id="book-search-input" role="search">
<input type="text" placeholder="{{ 'SEARCH_PLACEHOLDER'|t }}" />
<div class="book-header-left">
<a class="sof-brand" href="{{ "/"|resolveFile }}">
<span class="sof-brand-mark" aria-hidden="true"></span>
<span class="sof-brand-text">SOF</span>
</a>

<div class="book-header-search">
<div id="book-search-input" role="search">
<input type="text" placeholder="{{ 'SEARCH_PLACEHOLDER'|t }}" />
</div>
</div>
</div>

Expand All @@ -141,11 +143,13 @@
<a href="{{ "maintainers/"|resolveFile }}" data-nav-match="maintain">Maintain SOF</a>
</nav>

<button class="book-mobile-toggle" type="button" aria-label="Toggle navigation" aria-expanded="false">
<span></span>
<span></span>
<span></span>
</button>
<div class="book-header-right">
<button class="book-mobile-toggle" type="button" aria-label="Toggle navigation" aria-expanded="false">
<span></span>
<span></span>
<span></span>
</button>
</div>
</div>

<h1 class="book-header-page-title">
Expand Down
93 changes: 91 additions & 2 deletions docs/gitbook/styles/website.css
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,23 @@ body {
position: relative;
}

.book-header-left,
.book-header-right {
display: flex;
align-items: center;
min-width: 0;
}

.book-header-left {
gap: 18px;
flex: 1 1 auto;
}

.book-header-right {
flex: 1 1 auto;
justify-content: flex-end;
}

.sof-brand {
display: inline-flex;
align-items: center;
Expand Down Expand Up @@ -883,20 +900,34 @@ body {
@media screen and (min-width: 1201px) {
.book .book-header-inner {
display: grid;
grid-template-columns: auto minmax(220px, 320px) minmax(0, 1fr) auto;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: center;
column-gap: 24px;
}

.book-header-left {
grid-column: 1;
justify-self: start;
width: 100%;
max-width: 430px;
}

.book-top-nav {
grid-column: 2;
position: static;
transform: none;
justify-content: center;
width: 100%;
width: auto;
max-width: none;
margin: 0;
}

.book-header-right {
grid-column: 3;
justify-self: end;
width: 100%;
}

.book-header-search {
width: 100%;
max-width: 320px;
Expand All @@ -908,6 +939,35 @@ body {
}
}

@media screen and (min-width: 1201px) and (max-width: 1460px) {
.book .book-header {
padding: 0 20px;
}

.book .book-header-inner {
column-gap: 16px;
}

.book-header-left {
max-width: 360px;
gap: 12px;
}

.book-top-nav {
gap: 0;
}

.book-top-nav a {
font-size: 1.3rem;
padding: 20px 10px 18px;
}

.book-header-search {
max-width: 260px;
min-width: 180px;
}
}

@media screen and (max-width: 1180px) {
.page-toc {
display: none;
Expand All @@ -919,6 +979,18 @@ body {
padding: 0 16px;
}

.book .book-header-inner {
gap: 14px;
}

.book-header-left {
gap: 12px;
}

.book-header-right {
flex: 0 0 auto;
}

.book-top-nav {
display: none;
}
Expand All @@ -934,6 +1006,23 @@ body {
}
}

@media screen and (max-width: 1360px) {
.book-top-nav a {
font-size: 1.26rem;
padding: 20px 9px 18px;
}
}

@media screen and (max-width: 1320px) {
.book-top-nav {
display: none;
}

.book-header-left {
max-width: none;
}
}

@media screen and (max-width: 960px) {
.book {
background: #0d1318;
Expand Down
Loading