[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250730014708.1516-1-daijunbing@vivo.com>
Date: Wed, 30 Jul 2025 09:47:01 +0800
From: Dai Junbing <daijunbing@...o.com>
To: Alexander Viro <viro@...iv.linux.org.uk>,
Christian Brauner <brauner@...nel.org>,
Jan Kara <jack@...e.cz>,
Miklos Szeredi <miklos@...redi.hu>,
"Theodore Ts'o" <tytso@....edu>,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-ext4@...r.kernel.org
Cc: opensource.kernel@...o.com,
Dai Junbing <daijunbing@...o.com>
Subject: [PATCH v1 0/5] PM: Reduce spurious wakeups
During system suspend/resume, processes in TASK_INTERRUPTIBLE sleep may
be spuriously woken, causing measurable overhead. When many processes
are in TASK_INTERRUPTIBLE state during frequent suspend/resume cycles,
this overhead becomes non-trivial - observed particularly on Android
mobile devices.
Power instrumentation on my Android test device revealed numerous
processes blocked in:
- epoll_wait(2)
- select(2)
- poll(2)
These processes experienced spurious wakeups during suspend/resume,
contributing to power consumption.
After optimizing these wakeups (driver modifications handled outside
this patchset), measurements show 58% reduction in energy consumption
during suspend/resume cycles.
Therefore, minimizing spurious wakeups during suspend/resume transitions
is essential for mobile power efficiency. Please review this series..
Dai Junbing (5):
epoll: Make epoll_wait sleep freezable
select/poll: Make sleep freezable
pipe: Add TASK_FREEZABLE to read and open sleeps
fuse: Add TASK_FREEZABLE to device read operations
jbd2: Add TASK_FREEZABLE to kjournald2 thread
fs/eventpoll.c | 2 +-
fs/fuse/dev.c | 2 +-
fs/jbd2/journal.c | 2 +-
fs/pipe.c | 4 ++--
fs/select.c | 4 ++--
5 files changed, 7 insertions(+), 7 deletions(-)
--
2.25.1
Powered by blists - more mailing lists