JAM_SEMAPHORE documentation?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

JAM_SEMAPHORE documentation?

Boost - Build mailing list

Hi Builders,

Is there documentation on JAM_SEMAPHORE ?  I see examples; but google did not reveal any documentation.

Why?

I’m trying to find way to help the build team speed up our nightly builds?

 

I retained a semaphore on the link when I created clang-vxworks.jam

https://github.com/boostorg/build/blob/bc7659b9afe79f6ea8e70e8ea4a6974286d67d0d/src/tools/clang-vxworks.jam#L117

but I question if it is really required anymore?

 

I’d also like to serialize test execution

For VxWorks we telnet and execute the test on a remote target board using a “launcher”

https://github.com/Wind-River/vxworks7-layer-for-boost/blob/master/usr_src/vxworks_boost_test_run.exp

 

For the simulated and smaller arm targets, we need to ensure only one telnet session is active, or the test target runs out of memory.

(We are cross-compiling on big servers, so the build can be many-threaded, but the target is an embedded target and may be quite resource constrained )

https://github.com/boostorg/build/blob/518bc4a1a1a1980134121070593fabea026dce16/src/tools/testing.jam#L189

   

How can I add a semaphore on “run” and “run-fail” rules that only gets applied  to target-os=vxworks ?

 

Thanks,

 

Brian Kuhl

Wind River

 


_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: JAM_SEMAPHORE documentation?

Boost - Build mailing list
AMDG

On 12/17/2018 09:11 AM, Kuhl, Brian via Boost-build wrote:
> Hi Builders,
> Is there documentation on JAM_SEMAPHORE ?  I see examples; but google did not reveal any documentation.
> Why?
> I'm trying to find way to help the build team speed up our nightly builds?
>
> I retained a semaphore on the link when I created clang-vxworks.jam
> https://github.com/boostorg/build/blob/bc7659b9afe79f6ea8e70e8ea4a6974286d67d0d/src/tools/clang-vxworks.jam#L117
> but I question if it is really required anymore?
>

Most likely not.  It's a pretty old optimization
and I don't think anyone has measured it recently.

> I'd also like to serialize test execution
> For VxWorks we telnet and execute the test on a remote target board using a "launcher"
> https://github.com/Wind-River/vxworks7-layer-for-boost/blob/master/usr_src/vxworks_boost_test_run.exp
>
> For the simulated and smaller arm targets, we need to ensure only one telnet session is active, or the test target runs out of memory.
> (We are cross-compiling on big servers, so the build can be many-threaded, but the target is an embedded target and may be quite resource constrained )
> https://github.com/boostorg/build/blob/518bc4a1a1a1980134121070593fabea026dce16/src/tools/testing.jam#L189
>
> How can I add a semaphore on "run" and "run-fail" rules that only gets applied  to target-os=vxworks ?
>

At the moment, it can only be done by editing testing.jam.
Something like:
  if <target-os>vxworks in $(properties)
  {
    JAM_SEMAPHORE on $(targets) = <s>some-semaphore-name ;
  }

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build