From: Lars-Peter Clausen <lars@metafoo.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org, Mark Brown <broonie@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>
Subject: Re: Audio Mini Summit 2015, 8th October, Dublin
Date: Mon, 12 Oct 2015 17:54:35 +0200 [thread overview]
Message-ID: <561BD7BB.2090200@metafoo.de> (raw)
In-Reply-To: <s5hlhb8lbi7.wl-tiwai@suse.de>
On 10/12/2015 10:46 AM, Takashi Iwai wrote:
> On Fri, 09 Oct 2015 15:29:23 +0200,
> Lars-Peter Clausen wrote:
>>
>> On 10/08/2015 04:29 PM, Lars-Peter Clausen wrote:
>>> On 10/08/2015 04:13 PM, Lars-Peter Clausen wrote:
>>>> On 10/07/2015 05:20 PM, Mark Brown wrote:
>>>>> On Mon, Oct 05, 2015 at 12:17:52AM +0100, Mark Brown wrote:
>>>>>> [This message is BCCed to everyone currently on the signup list]
>>>>>>
>>>>>> As previously announce the audio mini-summit for this year will be this
>>>>>> Thursday (8th August) at CCD in Dublin. Topics we currently have on the
>>>>>> list for discussion are:
>>>>>
>>>>> Current list:
>>>>>
>>>>> - Power saving and general system design decisions (is what we're doing
>>>>> lining up with modern hardware with things like multiple output
>>>>> streams?).
>>>>> - Documentation.
>>>>> - alsa-lib releae plans.
>>>>> - What to do with HDMI and its integration with graphics.
>>>>> - Test tools (Intel BAT and others).
>>>>> - BATCH flag.
>>>>> - Fuzz control PCM APIs.
>>>>> - Splitting out root only controls.
>>>>> - ACPI simple-card and general generic card support.
>>>>> - Topology & media controller integration.
>>>>> - Kernel tinification.
>>>>> - Android <-> alsa-lib configuration translation.
>>>>> - HDA restructuring.
>>>>> - Support for DisplayPort MST.
>>>>> - PCM core simplification - the code is currently quite complex!
>>>>> - Soundwire driver support plans.
>>>>> - ASoC multichannel.
>>>>> - Random DAPM changes.
>>>>
>>>> Media controller:
>>>> http://blogs.s-osg.org/working-complicated-problems-media-controller-workshop/
>>>
>>> And to give some more background information on how the constraints
>>> refinement works: http://metafoo.de/alsa_constraints.html
>>>
>>> It's not yet complete but should still give you and idea
>>
>> Btw. when you try to size optimize the kernel have you tried to build stuff
>> with link-time-optimization? A lot of the constraints refinement code is
>> helper function that are only used by certain drivers. So with LTO also
>> those helper function would be removed.
>
> Yeah, I suggested a similar thing to Keyon before the meeting.
> But I wonder whether LTO takes effect if the module is enabled.
> AFAIK, Intel want to keep the modules (despite of the demanded code
> reduction), as they seem to try the generic solution. If the module
> is enabled, essentially all exported symbols have to stay, so LTO
> can't rip off anything.
Well, even if you do a modular build you still need to build both modules
and the kernel from the same Kconfig. You can't decide that you later on
want to enable or disable certain modules and then only re-build those. So
at least in theory all the information about which functions are used in the
modules and which are not is available and could be used by the LTO phase.
But I've never worked with kernel LTO and have no idea whether that works in
practice or not.
But I think this is still the path that I'd recommend people to peruse.
Since this is a generic approach and once you've figure it out you should be
able to see the maximum amount of savings rather than the approch where you
look at each module separately and need to go through them and identify
functionality that can be removed. Or even try to remove vital parts of the
framework completely.
E.g. I'd consider parameter refining a vital part of ALSA and the core
functionality of it is rather compact. But it provides a lot of helper
functions of which only some are going to be used if you built a reduced
kernel. So rather then completely disabling parameter refining use LTO to
remove the unused helper functions.
>
> A possible workaround that came to my mind is to build both built-in
> and modules. The former contains only symbols referred inside the
> built-in kernel while the latter module contains the rest exported
> symbols. But, the initialization is the problem in this case, so it's
> not so straightforward for now...
>
>
> Takashi
>
next prev parent reply other threads:[~2015-10-12 15:54 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-04 23:17 Audio Mini Summit 2015, 8th October, Dublin Mark Brown
2015-10-06 8:02 ` Alexander E. Patrakov
2015-10-06 9:35 ` Mark Brown
2015-10-06 10:50 ` Mark Brown
2015-10-06 10:59 ` Koul, Vinod
2015-10-06 16:56 ` Mark Brown
2015-10-08 15:43 ` Koul, Vinod
2015-10-09 7:11 ` Jie, Yang
2015-10-06 15:09 ` Takashi Iwai
2015-10-06 17:01 ` Mark Brown
2015-10-07 8:49 ` Lin, Mengdong
2015-10-07 14:22 ` Mark Brown
2015-10-07 15:20 ` Mark Brown
2015-10-08 14:13 ` Lars-Peter Clausen
2015-10-08 14:29 ` Lars-Peter Clausen
2015-10-09 13:29 ` Lars-Peter Clausen
2015-10-11 19:13 ` Jaroslav Kysela
2015-10-12 9:01 ` Koul, Vinod
2015-10-12 9:35 ` Liam Girdwood
2015-10-12 8:46 ` Takashi Iwai
2015-10-12 15:54 ` Lars-Peter Clausen [this message]
2015-10-12 16:21 ` Jaroslav Kysela
2015-10-13 1:34 ` Jie, Yang
2015-10-15 13:06 ` Jie, Yang
2015-10-12 8:43 ` Takashi Iwai
2015-10-12 9:11 ` Lars-Peter Clausen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=561BD7BB.2090200@metafoo.de \
--to=lars@metafoo.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.