Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mark Brown
Date: Thursday, May 13, 2010 - 4:36 pm

On Fri, May 14, 2010 at 12:46:33AM +0200, Rafael J. Wysocki wrote:


...



See my first paragraph there.  My point here is that we appear to have
the standard vendor BSP ecosystem problem here rather than a wakelock
problem.

It's fairly common in the embedded space to get a whole bunch of work
done which doesn't make its way into mainline due to a SoC vendor having
produced a BSP for their SoC which is based around a particular kernel
version which never gets updated.  This means users with that SoC can't
boot anything newer until someone does the work of mainlining support
for the system, meaning that development on systems using that SoC gets
stuck on an old kernel which mainline drifts away from.  Users find it
hard to contribute back since they can't run current code easily and
often have to jump through serious hoops to backport drivers from newer
kernels.  If the SoC is successful enough then you do get something of
an ecosystem around the BSP, though eventually that usually results in
the community doing the mainline merge.


This is still a work in progress in the embedded space (where wakelocks
are primarily relevant).  Many of the major vendors are working in the
right direction here, but it's far from universal and it's not something
that it's easy for vendors to change overnight.


I don't think this is a major part of the trend - like I say, the fact
that people have been working with an old kernel version is generally
a much more substantial issue than the wakelocks in the code I've seen.



If they can be compiled out then the updates really ought to be trivial.
If not I really need to go back and reexamine what's going on here to
make sure I understand what drivers are supposed to do, I have to
confess that I haven't looked too closely at the driver side API yet.



As I have said previously I'm not actively opposed to merging wakelocks
at this point.  My major concern has been addressed, I now agree with
most of what the PM guys are saying - it's not the nicest thing ever but
it works for now.

The issue was that when I originally noticed the patch series was being
considered for mainline again was that one effect of using it in a
mobile phone with the standard Linux embedded audio subsystem would be
to break use cases such as audio on voice calls, which isn't really
desirable, and that there was no roadmap for how to fix that or any
other subsystems with similar issues.  This didn't seem like it would
have been a good situation given that the major user is expected to be
Android, which is mainly for mobile phones.

Since we seemed to all agree that no other subsystems were affected,
meaning nothing general was required, I've now implemented support in
the subsystem for ignoring suspends for some audio paths (this should
appear In the next merge window).  This should mesh well with wakelocks.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/8] Suspend block api (version 6), =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:36 pm)
[PATCH 1/8] PM: Add suspend block api., =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:36 pm)
[PATCH 2/8] PM: suspend_block: Add driver to access suspen ..., =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:36 pm)
[PATCH 3/8] PM: suspend_block: Abort task freezing if a su ..., =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:36 pm)
[PATCH 4/8] PM: suspend_block: Add debugfs file, =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:36 pm)
[PATCH 5/8] PM: suspend_block: Add suspend_blocker stats, =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:36 pm)
[PATCH 6/8] PM: Add suspend blocking work., =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:36 pm)
[PATCH 7/8] Input: Block suspend while event queue is not ..., =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:37 pm)
[PATCH 8/8] power_supply: Block suspend while power supply ..., =?UTF-8?q?Arve=20Hj= ..., (Fri Apr 30, 3:37 pm)
Re: [PATCH 6/8] PM: Add suspend blocking work., Tejun Heo, (Fri Apr 30, 11:14 pm)
Re: [PATCH 1/8] PM: Add suspend block api., Pavel Machek, (Sat May 1, 11:56 pm)
Re: [PATCH 1/8] PM: Add suspend block api., Pavel Machek, (Sun May 2, 12:01 am)
Re: [PATCH 6/8] PM: Add suspend blocking work., Pavel Machek, (Sun May 2, 12:05 am)
Re: [PATCH 1/8] PM: Add suspend block api., Rafael J. Wysocki, (Sun May 2, 1:10 pm)
Re: [PATCH 1/8] PM: Add suspend block api., Pavel Machek, (Sun May 2, 1:52 pm)
Re: [PATCH 1/8] PM: Add suspend block api., Rafael J. Wysocki, (Sun May 2, 2:29 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Kevin Hilman, (Mon May 3, 9:40 am)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Mon May 3, 11:07 am)
Re: [PATCH 1/8] PM: Add suspend block api., Pavel Machek, (Mon May 3, 12:01 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Mon May 3, 2:18 pm)
Re: [PATCH 1/8] PM: Add suspend block api., Rafael J. Wysocki, (Mon May 3, 2:38 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Mon May 3, 2:50 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Kevin Hilman, (Mon May 3, 4:37 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Arve Hjønnevåg, (Mon May 3, 5:09 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Brian Swetland, (Mon May 3, 5:43 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Mon May 3, 5:43 pm)
Re: [PATCH 4/8] PM: suspend_block: Add debugfs file, Andi Kleen, (Tue May 4, 4:16 am)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Tue May 4, 6:59 am)
Re: [PATCH 0/8] Suspend block api (version 6), Kevin Hilman, (Tue May 4, 8:13 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Tue May 4, 8:28 am)
Re: [PATCH 0/8] Suspend block api (version 6), Kevin Hilman, (Tue May 4, 11:04 am)
Re: [PATCH 0/8] Suspend block api (version 6), Kevin Hilman, (Tue May 4, 11:06 am)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Tue May 4, 12:06 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Tue May 4, 1:23 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Tue May 4, 1:37 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Arve Hjønnevåg, (Tue May 4, 1:40 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Tue May 4, 1:44 pm)
Re: [PATCH 4/8] PM: suspend_block: Add debugfs file, Arve Hjønnevåg, (Tue May 4, 2:06 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Kevin Hilman, (Tue May 4, 4:14 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Tue May 4, 4:42 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Tue May 4, 4:56 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Tue May 4, 5:22 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Brian Swetland, (Tue May 4, 6:11 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Wed May 5, 4:06 am)
Re: [PATCH 0/8] Suspend block api (version 6), Brian Swetland, (Wed May 5, 5:00 am)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Wed May 5, 6:56 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Wed May 5, 10:33 am)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Wed May 5, 11:39 am)
Re: [PATCH 0/8] Suspend block api (version 6), mark gross, (Wed May 5, 1:35 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Kevin Hilman, (Mon May 10, 11:06 am)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Mon May 10, 1:25 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Tony Lindgren, (Tue May 11, 9:12 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Tue May 11, 9:14 am)
Re: [PATCH 0/8] Suspend block api (version 6), Tony Lindgren, (Tue May 11, 9:36 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Tue May 11, 9:45 am)
Re: [PATCH 0/8] Suspend block api (version 6), Tony Lindgren, (Tue May 11, 9:58 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Tue May 11, 10:03 am)
Re: [PATCH 0/8] Suspend block api (version 6), Tony Lindgren, (Tue May 11, 10:24 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Tue May 11, 10:30 am)
Re: [PATCH 0/8] Suspend block api (version 6), Tony Lindgren, (Tue May 11, 10:48 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Tue May 11, 11:01 am)
Re: [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Tue May 11, 11:19 am)
Re: [PATCH 0/8] Suspend block api (version 6), Arve Hjønnevåg, (Tue May 11, 6:11 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Wed May 12, 4:22 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Paul Walmsley, (Wed May 12, 8:35 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Thu May 13, 5:17 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Daniel Walker, (Thu May 13, 10:33 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Brian Swetland, (Thu May 13, 11:17 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Daniel Walker, (Thu May 13, 11:25 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Thu May 13, 11:36 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Daniel Walker, (Thu May 13, 11:59 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Thu May 13, 12:11 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Daniel Walker, (Thu May 13, 12:36 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Thu May 13, 12:48 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Thu May 13, 2:11 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Daniel Walker, (Thu May 13, 2:16 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Thu May 13, 2:27 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Daniel Walker, (Thu May 13, 2:33 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Tony Lindgren, (Thu May 13, 2:36 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Thu May 13, 2:54 pm)
RE: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Woodruff, Richard, (Thu May 13, 3:33 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Rafael J. Wysocki, (Thu May 13, 3:46 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Arve Hjønnevåg, (Thu May 13, 4:06 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Brian Swetland, (Thu May 13, 4:28 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Mark Brown, (Thu May 13, 4:36 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Brian Swetland, (Thu May 13, 4:48 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Daniel Walker, (Fri May 14, 9:47 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6), Brian Swetland, (Mon May 17, 4:04 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Pavel Machek, (Mon May 24, 11:57 am)
Re: [PATCH 0/8] Suspend block api (version 6), Matthew Garrett, (Mon May 24, 12:08 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Arve Hjønnevåg, (Mon May 24, 6:16 pm)
Re: [PATCH 0/8] Suspend block api (version 6), Pavel Machek, (Wed May 26, 10:32 am)