Skip to content

Commit 40dce63

Browse files
authored
Use std's noop waker instead of futures' (#931)
Std's is stable now, no reason to use the one from futures anymore.
1 parent 88b5feb commit 40dce63

File tree

10 files changed

+15
-18
lines changed

10 files changed

+15
-18
lines changed

Cargo.lock

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,6 @@ dependencies = [
514514
"chipset_arc_mutex_device",
515515
"chipset_device",
516516
"closeable_mutex",
517-
"futures",
518517
"parking_lot",
519518
"range_map_vec",
520519
"tracing",

clippy.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ disallowed-methods = [
2121
# This is used by futures::select! and futures::join!, so leave it out for now.
2222
# { path = "futures::future::poll_fn", reason = "use std::future::poll_fn" },
2323

24+
{ path = "futures::task::noop_waker", reason = "use std::task::Waker::noop" },
25+
{ path = "futures::task::noop_waker_ref", reason = "use std::task::Waker::noop" },
26+
2427
{ path = "futures::channel::mpsc::channel", reason = "use mesh or async-channel" },
2528
{ path = "futures::channel::mpsc::unbounded", reason = "use mesh or async-channel" },
2629
{ path = "futures::channel::oneshot::channel", reason = "use mesh or async-channel" },

support/pal/pal_uring/src/threadpool.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
use super::ioring::IoCompletionRing;
1717
use super::ioring::IoMemory;
1818
use super::ioring::IoRing;
19-
use futures::task::noop_waker;
2019
use futures::FutureExt;
2120
use inspect::Inspect;
2221
use io_uring::opcode;
@@ -540,7 +539,7 @@ impl<T: 'static + Send + Sync + Unpin, Init: Borrow<IoInitiator> + Unpin> Io<T,
540539
let idx = unsafe {
541540
self.initiator
542541
.borrow()
543-
.submit_io(sqe, IoMemory::new(()), noop_waker())
542+
.submit_io(sqe, IoMemory::new(()), Waker::noop().clone())
544543
};
545544
self.initiator.borrow().drop_io(idx);
546545
}

support/pal/pal_uring/src/uring.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
66
use super::threadpool::Io;
77
use super::threadpool::IoInitiator;
8-
use futures::task::noop_waker_ref;
98
use futures::FutureExt;
109
use io_uring::opcode;
1110
use io_uring::types::TimeoutFlags;
@@ -27,6 +26,7 @@ use std::os::unix::prelude::*;
2726
use std::sync::OnceLock;
2827
use std::task::Context;
2928
use std::task::Poll;
29+
use std::task::Waker;
3030

3131
/// An object that can be used to initiate an IO, by returning a reference to an
3232
/// [`IoInitiator`].
@@ -292,7 +292,7 @@ impl<T: Initiate> PollWait for FdWaitViaRead<T> {
292292

293293
impl<T: Initiate> Drop for FdWaitViaRead<T> {
294294
fn drop(&mut self) {
295-
let _ = self.poll_cancel_wait(&mut Context::from_waker(noop_waker_ref()));
295+
let _ = self.poll_cancel_wait(&mut Context::from_waker(Waker::noop()));
296296
}
297297
}
298298

vm/chipset_device_fuzz/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ closeable_mutex.workspace = true
1515
range_map_vec.workspace = true
1616

1717
arbitrary = { workspace = true, features = ["derive"] }
18-
futures.workspace = true
1918
parking_lot.workspace = true
2019
zerocopy.workspace = true
2120
tracing.workspace = true

vm/chipset_device_fuzz/src/lib.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use std::sync::Arc;
2727
use std::sync::Weak;
2828
use std::task::Context;
2929
use std::task::Poll;
30+
use std::task::Waker;
3031
use zerocopy::FromBytes;
3132

3233
type InterceptRanges<U> =
@@ -190,7 +191,7 @@ impl FuzzChipset {
190191
.lock()
191192
.supports_poll_device()
192193
.expect("objects supporting polling support polling")
193-
.poll_device(&mut Context::from_waker(futures::task::noop_waker_ref()));
194+
.poll_device(&mut Context::from_waker(Waker::noop()));
194195
Some(())
195196
}
196197

@@ -201,7 +202,7 @@ impl FuzzChipset {
201202
mut t: DeferredToken,
202203
data: &mut [u8],
203204
) {
204-
let mut cx = Context::from_waker(futures::task::noop_waker_ref());
205+
let mut cx = Context::from_waker(Waker::noop());
205206
let dev = dev
206207
.supports_poll_device()
207208
.expect("objects returning a DeferredToken support polling");
@@ -229,7 +230,7 @@ impl FuzzChipset {
229230

230231
/// Poll a deferred write once, panic if it isn't complete afterwards.
231232
fn defer_write_now_or_never(&self, dev: &mut dyn ChipsetDevice, mut t: DeferredToken) {
232-
let mut cx = Context::from_waker(futures::task::noop_waker_ref());
233+
let mut cx = Context::from_waker(Waker::noop());
233234
let dev = dev
234235
.supports_poll_device()
235236
.expect("objects returning a DeferredToken support polling");

vm/devices/chipset/src/battery/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ mod tests {
439439
sender: &mesh::Sender<HostBatteryUpdate>,
440440
) {
441441
sender.send(update);
442-
battery.poll_device(&mut Context::from_waker(futures::task::noop_waker_ref()));
442+
battery.poll_device(&mut Context::from_waker(std::task::Waker::noop()));
443443
}
444444

445445
/// Test basic battery mmio behavior

vm/devices/vmbus/vmbus_client/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ pub use self::saved_state::SavedState;
1010
use anyhow::Result;
1111
use futures::future::OptionFuture;
1212
use futures::stream::SelectAll;
13-
use futures::task::noop_waker_ref;
1413
use futures::FutureExt;
1514
use futures::StreamExt;
1615
use guid::Guid;
@@ -1414,7 +1413,7 @@ impl OutgoingMessages {
14141413
let msg = OutgoingMessage::with_data(msg, data);
14151414
if self.queued.is_empty() {
14161415
let r = self.poster.poll_post_message(
1417-
&mut Context::from_waker(noop_waker_ref()),
1416+
&mut Context::from_waker(std::task::Waker::noop()),
14181417
protocol::VMBUS_MESSAGE_REDIRECT_CONNECTION_ID,
14191418
1,
14201419
msg.data(),

vm/devices/vmbus/vmbus_server/src/lib.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ use futures::channel::mpsc::SendError;
3333
use futures::future::poll_fn;
3434
use futures::future::OptionFuture;
3535
use futures::stream::SelectAll;
36-
use futures::task::noop_waker_ref;
3736
use futures::FutureExt;
3837
use futures::StreamExt;
3938
use guestmem::GuestMemory;
@@ -1457,7 +1456,7 @@ impl Notifier for ServerTaskInner {
14571456
// main loop will try to send it again later.
14581457
matches!(
14591458
port.poll_post_message(
1460-
&mut std::task::Context::from_waker(noop_waker_ref()),
1459+
&mut std::task::Context::from_waker(std::task::Waker::noop()),
14611460
VMBUS_MESSAGE_TYPE,
14621461
message.data()
14631462
),
@@ -1892,7 +1891,6 @@ impl ParentBus for VmbusServerControl {
18921891
#[cfg(test)]
18931892
mod tests {
18941893
use super::*;
1895-
use futures::task::noop_waker_ref;
18961894
use pal_async::async_test;
18971895
use pal_async::driver::SpawnDriver;
18981896
use pal_async::timer::Instant;
@@ -1948,7 +1946,7 @@ mod tests {
19481946
.as_ref()
19491947
.unwrap()
19501948
.poll_handle_message(
1951-
&mut std::task::Context::from_waker(noop_waker_ref()),
1949+
&mut std::task::Context::from_waker(std::task::Waker::noop()),
19521950
msg.data(),
19531951
trusted,
19541952
),

vmm_core/src/synic.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
use futures::task::noop_waker_ref;
54
use hvdef::HvError;
65
use hvdef::HvResult;
76
use hvdef::Vtl;
@@ -55,7 +54,7 @@ impl SynicPorts {
5554
if vtl < minimum_vtl {
5655
Err(HvError::OperationDenied)
5756
} else if port.poll_handle_message(
58-
&mut Context::from_waker(noop_waker_ref()),
57+
&mut Context::from_waker(std::task::Waker::noop()),
5958
message,
6059
secure,
6160
) == Poll::Ready(())

0 commit comments

Comments
 (0)