public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] buildman with distcc
@ 2014-11-13 23:01 York Sun
  2014-11-13 23:03 ` York Sun
  0 siblings, 1 reply; 12+ messages in thread
From: York Sun @ 2014-11-13 23:01 UTC (permalink / raw)
  To: u-boot

Simon,

Is it possible to use buildman with distcc? I am trying to speed up compiling.
Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
don't know how to do this with buildman.

York

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

* [U-Boot] buildman with distcc
  2014-11-13 23:01 [U-Boot] buildman with distcc York Sun
@ 2014-11-13 23:03 ` York Sun
  2014-11-14  0:01   ` Simon Glass
  0 siblings, 1 reply; 12+ messages in thread
From: York Sun @ 2014-11-13 23:03 UTC (permalink / raw)
  To: u-boot

On 11/13/2014 03:01 PM, York Sun wrote:
> Simon,
> 
> Is it possible to use buildman with distcc? I am trying to speed up compiling.
> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
> don't know how to do this with buildman.
> 

I meant to use buildman with multiple architectures, like 'arm & freescale'
powerpc aarch64 together.

York

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

* [U-Boot] buildman with distcc
  2014-11-13 23:03 ` York Sun
@ 2014-11-14  0:01   ` Simon Glass
  2014-11-14  0:02     ` York Sun
  0 siblings, 1 reply; 12+ messages in thread
From: Simon Glass @ 2014-11-14  0:01 UTC (permalink / raw)
  To: u-boot

Hi York,

On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>
> On 11/13/2014 03:01 PM, York Sun wrote:
> > Simon,
> >
> > Is it possible to use buildman with distcc? I am trying to speed up compiling.
> > Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
> > don't know how to do this with buildman.
> >
>
> I meant to use buildman with multiple architectures, like 'arm & freescale'
> powerpc aarch64 together.

I wonder what would happen if you put it in the '[toolchain]' section
of ~/.buildman ?

Regards,
Simon

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

* [U-Boot] buildman with distcc
  2014-11-14  0:01   ` Simon Glass
@ 2014-11-14  0:02     ` York Sun
  2014-11-14  0:14       ` Simon Glass
  0 siblings, 1 reply; 12+ messages in thread
From: York Sun @ 2014-11-14  0:02 UTC (permalink / raw)
  To: u-boot

On 11/13/2014 04:01 PM, Simon Glass wrote:
> Hi York,
> 
> On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>>
>> On 11/13/2014 03:01 PM, York Sun wrote:
>>> Simon,
>>>
>>> Is it possible to use buildman with distcc? I am trying to speed up compiling.
>>> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
>>> don't know how to do this with buildman.
>>>
>>
>> I meant to use buildman with multiple architectures, like 'arm & freescale'
>> powerpc aarch64 together.
> 
> I wonder what would happen if you put it in the '[toolchain]' section
> of ~/.buildman ?
> 

buildman --list-tool-chains cannot detect the toolchain if doing so.

If not using buildman, I can modify Makefile to prefix distcc to CC and keep
using MAKEALL.

York

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

* [U-Boot] buildman with distcc
  2014-11-14  0:02     ` York Sun
@ 2014-11-14  0:14       ` Simon Glass
  2014-11-14  0:17         ` York Sun
  0 siblings, 1 reply; 12+ messages in thread
From: Simon Glass @ 2014-11-14  0:14 UTC (permalink / raw)
  To: u-boot

Hi York,

On 13 November 2014 17:02, York Sun <yorksun@freescale.com> wrote:
> On 11/13/2014 04:01 PM, Simon Glass wrote:
>> Hi York,
>>
>> On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>>>
>>> On 11/13/2014 03:01 PM, York Sun wrote:
>>>> Simon,
>>>>
>>>> Is it possible to use buildman with distcc? I am trying to speed up compiling.
>>>> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
>>>> don't know how to do this with buildman.
>>>>
>>>
>>> I meant to use buildman with multiple architectures, like 'arm & freescale'
>>> powerpc aarch64 together.
>>
>> I wonder what would happen if you put it in the '[toolchain]' section
>> of ~/.buildman ?
>>
>
> buildman --list-tool-chains cannot detect the toolchain if doing so.

No, it works by looking for filenames rather than running the command
line. But that should not affect operation.

>
> If not using buildman, I can modify Makefile to prefix distcc to CC and keep
> using MAKEALL.

Indeed. I wonder why that doesn't work with buildman?

Regards,
Simon

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

* [U-Boot] buildman with distcc
  2014-11-14  0:14       ` Simon Glass
@ 2014-11-14  0:17         ` York Sun
  2014-11-14  0:30           ` Simon Glass
  0 siblings, 1 reply; 12+ messages in thread
From: York Sun @ 2014-11-14  0:17 UTC (permalink / raw)
  To: u-boot

On 11/13/2014 04:14 PM, Simon Glass wrote:
> Hi York,
> 
> On 13 November 2014 17:02, York Sun <yorksun@freescale.com> wrote:
>> On 11/13/2014 04:01 PM, Simon Glass wrote:
>>> Hi York,
>>>
>>> On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>>>>
>>>> On 11/13/2014 03:01 PM, York Sun wrote:
>>>>> Simon,
>>>>>
>>>>> Is it possible to use buildman with distcc? I am trying to speed up compiling.
>>>>> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
>>>>> don't know how to do this with buildman.
>>>>>
>>>>
>>>> I meant to use buildman with multiple architectures, like 'arm & freescale'
>>>> powerpc aarch64 together.
>>>
>>> I wonder what would happen if you put it in the '[toolchain]' section
>>> of ~/.buildman ?
>>>
>>
>> buildman --list-tool-chains cannot detect the toolchain if doing so.
> 
> No, it works by looking for filenames rather than running the command
> line. But that should not affect operation.

The path in ./.buildman is partial. buildman appends other stuff to make a
complete path. I need to put double quote for "distcc <my path prefix>". I don't
see how that could work.

> 
>>
>> If not using buildman, I can modify Makefile to prefix distcc to CC and keep
>> using MAKEALL.
> 
> Indeed. I wonder why that doesn't work with buildman?

Doesn't buildman checkout each commit? Modifying the Makefile doesn't survive a
checkout.

York

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

* [U-Boot] buildman with distcc
  2014-11-14  0:17         ` York Sun
@ 2014-11-14  0:30           ` Simon Glass
  2014-11-14  0:32             ` York Sun
  0 siblings, 1 reply; 12+ messages in thread
From: Simon Glass @ 2014-11-14  0:30 UTC (permalink / raw)
  To: u-boot

Hi York,

On 13 November 2014 17:17, York Sun <yorksun@freescale.com> wrote:
> On 11/13/2014 04:14 PM, Simon Glass wrote:
>> Hi York,
>>
>> On 13 November 2014 17:02, York Sun <yorksun@freescale.com> wrote:
>>> On 11/13/2014 04:01 PM, Simon Glass wrote:
>>>> Hi York,
>>>>
>>>> On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>>>>>
>>>>> On 11/13/2014 03:01 PM, York Sun wrote:
>>>>>> Simon,
>>>>>>
>>>>>> Is it possible to use buildman with distcc? I am trying to speed up compiling.
>>>>>> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
>>>>>> don't know how to do this with buildman.
>>>>>>
>>>>>
>>>>> I meant to use buildman with multiple architectures, like 'arm & freescale'
>>>>> powerpc aarch64 together.
>>>>
>>>> I wonder what would happen if you put it in the '[toolchain]' section
>>>> of ~/.buildman ?
>>>>
>>>
>>> buildman --list-tool-chains cannot detect the toolchain if doing so.
>>
>> No, it works by looking for filenames rather than running the command
>> line. But that should not affect operation.
>
> The path in ./.buildman is partial. buildman appends other stuff to make a
> complete path. I need to put double quote for "distcc <my path prefix>". I don't
> see how that could work.

It doesn't have to - if you give a complete path then it will use it.
You might need to change things in toolchain.py to make it work. See
MakeEnvironment() which sets up the environment for Make -
CROSS_COMPILE, PATH.

Yes, one problem is that buildman uses objsize to find out the
code/data size. How can that work with distcc?

>
>>
>>>
>>> If not using buildman, I can modify Makefile to prefix distcc to CC and keep
>>> using MAKEALL.
>>
>> Indeed. I wonder why that doesn't work with buildman?
>
> Doesn't buildman checkout each commit? Modifying the Makefile doesn't survive a
> checkout.

Well if you are using that feature out certainly can't use MAKEALL
since it doesn't support it. If you leave off the branch (-b) buildman
will build the current source and not check anything out.

Regards,
Simon

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

* [U-Boot] buildman with distcc
  2014-11-14  0:30           ` Simon Glass
@ 2014-11-14  0:32             ` York Sun
  2014-11-14  0:35               ` Simon Glass
  0 siblings, 1 reply; 12+ messages in thread
From: York Sun @ 2014-11-14  0:32 UTC (permalink / raw)
  To: u-boot

On 11/13/2014 04:30 PM, Simon Glass wrote:
> Hi York,
> 
> On 13 November 2014 17:17, York Sun <yorksun@freescale.com> wrote:
>> On 11/13/2014 04:14 PM, Simon Glass wrote:
>>> Hi York,
>>>
>>> On 13 November 2014 17:02, York Sun <yorksun@freescale.com> wrote:
>>>> On 11/13/2014 04:01 PM, Simon Glass wrote:
>>>>> Hi York,
>>>>>
>>>>> On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>>>>>>
>>>>>> On 11/13/2014 03:01 PM, York Sun wrote:
>>>>>>> Simon,
>>>>>>>
>>>>>>> Is it possible to use buildman with distcc? I am trying to speed up compiling.
>>>>>>> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
>>>>>>> don't know how to do this with buildman.
>>>>>>>
>>>>>>
>>>>>> I meant to use buildman with multiple architectures, like 'arm & freescale'
>>>>>> powerpc aarch64 together.
>>>>>
>>>>> I wonder what would happen if you put it in the '[toolchain]' section
>>>>> of ~/.buildman ?
>>>>>
>>>>
>>>> buildman --list-tool-chains cannot detect the toolchain if doing so.
>>>
>>> No, it works by looking for filenames rather than running the command
>>> line. But that should not affect operation.
>>
>> The path in ./.buildman is partial. buildman appends other stuff to make a
>> complete path. I need to put double quote for "distcc <my path prefix>". I don't
>> see how that could work.
> 
> It doesn't have to - if you give a complete path then it will use it.
> You might need to change things in toolchain.py to make it work. See
> MakeEnvironment() which sets up the environment for Make -
> CROSS_COMPILE, PATH.
> 
> Yes, one problem is that buildman uses objsize to find out the
> code/data size. How can that work with distcc?

Probably it won't.

> 
>>
>>>
>>>>
>>>> If not using buildman, I can modify Makefile to prefix distcc to CC and keep
>>>> using MAKEALL.
>>>
>>> Indeed. I wonder why that doesn't work with buildman?
>>
>> Doesn't buildman checkout each commit? Modifying the Makefile doesn't survive a
>> checkout.
> 
> Well if you are using that feature out certainly can't use MAKEALL
> since it doesn't support it. If you leave off the branch (-b) buildman
> will build the current source and not check anything out.
> 

I like to use buildman to build all the commits.

Can I force CC with buildman?

York

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

* [U-Boot] buildman with distcc
  2014-11-14  0:32             ` York Sun
@ 2014-11-14  0:35               ` Simon Glass
  2014-11-14  1:10                 ` York Sun
  0 siblings, 1 reply; 12+ messages in thread
From: Simon Glass @ 2014-11-14  0:35 UTC (permalink / raw)
  To: u-boot

Hi York,


On 13 November 2014 17:32, York Sun <yorksun@freescale.com> wrote:
> On 11/13/2014 04:30 PM, Simon Glass wrote:
>> Hi York,
>>
>> On 13 November 2014 17:17, York Sun <yorksun@freescale.com> wrote:
>>> On 11/13/2014 04:14 PM, Simon Glass wrote:
>>>> Hi York,
>>>>
>>>> On 13 November 2014 17:02, York Sun <yorksun@freescale.com> wrote:
>>>>> On 11/13/2014 04:01 PM, Simon Glass wrote:
>>>>>> Hi York,
>>>>>>
>>>>>> On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>>>>>>>
>>>>>>> On 11/13/2014 03:01 PM, York Sun wrote:
>>>>>>>> Simon,
>>>>>>>>
>>>>>>>> Is it possible to use buildman with distcc? I am trying to speed up compiling.
>>>>>>>> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
>>>>>>>> don't know how to do this with buildman.
>>>>>>>>
>>>>>>>
>>>>>>> I meant to use buildman with multiple architectures, like 'arm & freescale'
>>>>>>> powerpc aarch64 together.
>>>>>>
>>>>>> I wonder what would happen if you put it in the '[toolchain]' section
>>>>>> of ~/.buildman ?
>>>>>>
>>>>>
>>>>> buildman --list-tool-chains cannot detect the toolchain if doing so.
>>>>
>>>> No, it works by looking for filenames rather than running the command
>>>> line. But that should not affect operation.
>>>
>>> The path in ./.buildman is partial. buildman appends other stuff to make a
>>> complete path. I need to put double quote for "distcc <my path prefix>". I don't
>>> see how that could work.
>>
>> It doesn't have to - if you give a complete path then it will use it.
>> You might need to change things in toolchain.py to make it work. See
>> MakeEnvironment() which sets up the environment for Make -
>> CROSS_COMPILE, PATH.
>>
>> Yes, one problem is that buildman uses objsize to find out the
>> code/data size. How can that work with distcc?
>
> Probably it won't.

I wonder how the build copes with things like 'objcopy' then, which
are in the Makefile.

>
>>
>>>
>>>>
>>>>>
>>>>> If not using buildman, I can modify Makefile to prefix distcc to CC and keep
>>>>> using MAKEALL.
>>>>
>>>> Indeed. I wonder why that doesn't work with buildman?
>>>
>>> Doesn't buildman checkout each commit? Modifying the Makefile doesn't survive a
>>> checkout.
>>
>> Well if you are using that feature out certainly can't use MAKEALL
>> since it doesn't support it. If you leave off the branch (-b) buildman
>> will build the current source and not check anything out.
>>
>
> I like to use buildman to build all the commits.
>
> Can I force CC with buildman?

If you add that feature you can. But maybe you just need to force CROSS_COMPILE?

Regards,
Simon

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

* [U-Boot] buildman with distcc
  2014-11-14  0:35               ` Simon Glass
@ 2014-11-14  1:10                 ` York Sun
  2014-11-14  2:01                   ` York Sun
  0 siblings, 1 reply; 12+ messages in thread
From: York Sun @ 2014-11-14  1:10 UTC (permalink / raw)
  To: u-boot

On 11/13/2014 04:35 PM, Simon Glass wrote:
> Hi York,
> 
> 
> On 13 November 2014 17:32, York Sun <yorksun@freescale.com> wrote:
>> On 11/13/2014 04:30 PM, Simon Glass wrote:
>>> Hi York,
>>>
>>> On 13 November 2014 17:17, York Sun <yorksun@freescale.com> wrote:
>>>> On 11/13/2014 04:14 PM, Simon Glass wrote:
>>>>> Hi York,
>>>>>
>>>>> On 13 November 2014 17:02, York Sun <yorksun@freescale.com> wrote:
>>>>>> On 11/13/2014 04:01 PM, Simon Glass wrote:
>>>>>>> Hi York,
>>>>>>>
>>>>>>> On 13 November 2014 16:03, York Sun <yorksun@freescale.com> wrote:
>>>>>>>>
>>>>>>>> On 11/13/2014 03:01 PM, York Sun wrote:
>>>>>>>>> Simon,
>>>>>>>>>
>>>>>>>>> Is it possible to use buildman with distcc? I am trying to speed up compiling.
>>>>>>>>> Using MAKEALL or make I can specify CROSS_COMPILE="distcc <path to toolchain". I
>>>>>>>>> don't know how to do this with buildman.
>>>>>>>>>
>>>>>>>>
>>>>>>>> I meant to use buildman with multiple architectures, like 'arm & freescale'
>>>>>>>> powerpc aarch64 together.
>>>>>>>
>>>>>>> I wonder what would happen if you put it in the '[toolchain]' section
>>>>>>> of ~/.buildman ?
>>>>>>>
>>>>>>
>>>>>> buildman --list-tool-chains cannot detect the toolchain if doing so.
>>>>>
>>>>> No, it works by looking for filenames rather than running the command
>>>>> line. But that should not affect operation.
>>>>
>>>> The path in ./.buildman is partial. buildman appends other stuff to make a
>>>> complete path. I need to put double quote for "distcc <my path prefix>". I don't
>>>> see how that could work.
>>>
>>> It doesn't have to - if you give a complete path then it will use it.
>>> You might need to change things in toolchain.py to make it work. See
>>> MakeEnvironment() which sets up the environment for Make -
>>> CROSS_COMPILE, PATH.
>>>
>>> Yes, one problem is that buildman uses objsize to find out the
>>> code/data size. How can that work with distcc?
>>
>> Probably it won't.
> 
> I wonder how the build copes with things like 'objcopy' then, which
> are in the Makefile.
> 
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> If not using buildman, I can modify Makefile to prefix distcc to CC and keep
>>>>>> using MAKEALL.
>>>>>
>>>>> Indeed. I wonder why that doesn't work with buildman?
>>>>
>>>> Doesn't buildman checkout each commit? Modifying the Makefile doesn't survive a
>>>> checkout.
>>>
>>> Well if you are using that feature out certainly can't use MAKEALL
>>> since it doesn't support it. If you leave off the branch (-b) buildman
>>> will build the current source and not check anything out.
>>>
>>
>> I like to use buildman to build all the commits.
>>
>> Can I force CC with buildman?
> 
> If you add that feature you can. But maybe you just need to force CROSS_COMPILE?

I can change the env['CROSS_COMPILE'] in toolchain.py and make distcc work. But
I am seeing odd distribution. Comparing with MAKEALL, with single thread and 50
jobs, the distribution is mostly to localhost. Not sure how buildman calls make.
Can you point me to the right direction?

York

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

* [U-Boot] buildman with distcc
  2014-11-14  1:10                 ` York Sun
@ 2014-11-14  2:01                   ` York Sun
  2014-11-20 18:54                     ` Simon Glass
  0 siblings, 1 reply; 12+ messages in thread
From: York Sun @ 2014-11-14  2:01 UTC (permalink / raw)
  To: u-boot

On 11/13/2014 05:10 PM, York Sun wrote:
> On 11/13/2014 04:35 PM, Simon Glass wrote:
>>
>> If you add that feature you can. But maybe you just need to force CROSS_COMPILE?
> 
> I can change the env['CROSS_COMPILE'] in toolchain.py and make distcc work. But
> I am seeing odd distribution. Comparing with MAKEALL, with single thread and 50
> jobs, the distribution is mostly to localhost. Not sure how buildman calls make.
> Can you point me to the right direction?
> 

Nah, don't bother. I tried a build. It doesn't speed up enough to pursue this
way, even with 6 servers. I may pick up in the future if I have to do this way.

York

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

* [U-Boot] buildman with distcc
  2014-11-14  2:01                   ` York Sun
@ 2014-11-20 18:54                     ` Simon Glass
  0 siblings, 0 replies; 12+ messages in thread
From: Simon Glass @ 2014-11-20 18:54 UTC (permalink / raw)
  To: u-boot

Hi York,

On 14 November 2014 02:01, York Sun <yorksun@freescale.com> wrote:
> On 11/13/2014 05:10 PM, York Sun wrote:
>> On 11/13/2014 04:35 PM, Simon Glass wrote:
>>>
>>> If you add that feature you can. But maybe you just need to force CROSS_COMPILE?
>>
>> I can change the env['CROSS_COMPILE'] in toolchain.py and make distcc work. But
>> I am seeing odd distribution. Comparing with MAKEALL, with single thread and 50
>> jobs, the distribution is mostly to localhost. Not sure how buildman calls make.
>> Can you point me to the right direction?
>>
>
> Nah, don't bother. I tried a build. It doesn't speed up enough to pursue this
> way, even with 6 servers. I may pick up in the future if I have to do this way.

OK.

Regards,
Simon

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

end of thread, other threads:[~2014-11-20 18:54 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-13 23:01 [U-Boot] buildman with distcc York Sun
2014-11-13 23:03 ` York Sun
2014-11-14  0:01   ` Simon Glass
2014-11-14  0:02     ` York Sun
2014-11-14  0:14       ` Simon Glass
2014-11-14  0:17         ` York Sun
2014-11-14  0:30           ` Simon Glass
2014-11-14  0:32             ` York Sun
2014-11-14  0:35               ` Simon Glass
2014-11-14  1:10                 ` York Sun
2014-11-14  2:01                   ` York Sun
2014-11-20 18:54                     ` Simon Glass

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