VFS server: foster batching of acknowledgements

With the consolidation of the file-system session's signal handlers
implemented by commit "file_system_session: merge ack and submit sigh",
we can now change the VFS server to produce batches of acknowledgements
before explicitly waking up the client. (in contrast to the traditional
'acknowledge_packet', the new 'try_ack_packet' triggers no signal)

Issue #4388
This commit is contained in:
Norman Feske 2022-03-08 15:57:27 +01:00
parent f4d0f1624a
commit e3706837b9

View File

@ -193,7 +193,7 @@ class Vfs_server::Session_component : private Session_resources,
{
drop_packet_from_submit_queue();
packet.succeeded(false);
_stream.acknowledge_packet(packet);
_stream.try_ack_packet(packet);
overall_progress = true;
progress_in_iteration = true;
@ -335,6 +335,9 @@ class Vfs_server::Session_component : private Session_resources,
overall_progress |= progress_in_iteration;
}
_stream.wakeup();
return overall_progress ? Process_packets_result::PROGRESS
: Process_packets_result::NONE;
}