mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v1 0/5]  PM: Reduce spurious wakeups
@ 2025-07-30  1:47 Dai Junbing
  2025-07-30  1:47 ` [PATCH v1 1/5] epoll: Make epoll_wait sleep freezable Dai Junbing
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Dai Junbing @ 2025-07-30  1:47 UTC (permalink / raw)
  To: Alexander Viro, Christian Brauner, Jan Kara, Miklos Szeredi,
	Theodore Ts'o, linux-fsdevel, linux-kernel, linux-ext4
  Cc: opensource.kernel, Dai Junbing

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-08-08  2:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-30  1:47 [PATCH v1 0/5] PM: Reduce spurious wakeups Dai Junbing
2025-07-30  1:47 ` [PATCH v1 1/5] epoll: Make epoll_wait sleep freezable Dai Junbing
2025-07-30  1:47 ` [PATCH v1 2/5] select/poll: Make " Dai Junbing
2025-07-30 12:46   ` Jan Kara
2025-07-30  1:47 ` [PATCH v1 3/5] pipe: Add TASK_FREEZABLE to read and open sleeps Dai Junbing
2025-07-30  1:47 ` [PATCH v1 4/5] fuse: Add TASK_FREEZABLE to device read operations Dai Junbing
2025-07-30  1:47 ` [PATCH v1 5/5] jbd2: Add TASK_FREEZABLE to kjournald2 thread Dai Junbing
2025-07-30 10:52   ` Jan Kara
2025-08-08  2:12     ` daijunbing

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®