Re: Remove SMP Warning in Documenation

2017-01-17 Thread Sebastian Huber
I didn't move forward to this chapter yet. Yes, it can be removed, but 
its not the only thing that is outdated.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Remove SMP Warning in Documenation

2017-01-17 Thread Joel Sherrill
Hi

I noticed c-user/symmetric_multiprocessing_services.rst has a warning
that is appropriate for the 4.11 branch but I don't think is appropriate
for the master.

Should this be removed?

.. warning::

   The SMP support in the release of RTEMS is a work in progress. Before you
   start using this RTEMS version for SMP ask on the RTEMS mailing list.


--joel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] rtems-test-check: Make exclude work again.

2017-01-17 Thread Joel Sherrill
On Tue, Jan 17, 2017 at 9:34 AM, Stavros Passas  wrote:

> Hi Joel,
>
> Yesterday, with the creation of the ticket about the issue, (
> https://devel.rtems.org/ticket/2867)
> I also uploaded the patch that was fixing it -- after Chris's suggestion
> over email.
>
> The patch was created with my full credentials, so you can take them from
> here:
> https://devel.rtems.org/attachment/ticket/2867/fix-2867.patch
>
>
Thanks. I should have seen that but was working from home yesterday.

I am testing with that patch now along with a number of additions to .tcfg
files.

I will push when my build finishes.

--joel


> Best Regards,
>Stavros
>
> On 17 January 2017 at 14:08, Joel Sherrill  wrote:
>
>>
>>
>> On Mon, Jan 16, 2017 at 5:12 PM, Chris Johns  wrote:
>>
>>> This change looks wrong. Moving test loop out of the if testdata block
>>> means variables in the test loop are not defined. I consider it a script
>>> bug to assume it is ok to reference a variable that is not declared
>>> because it is ambiguous if this intended behavior or a bug.
>>>
>>> Starvos sent me this change a few days ago and it looks good. I am
>>> hoping he will make a patch we can merge so he can have the credit ..
>>>
>>> diff --git a/tools/build/rtems-test-check b/tools/build/rtems-test-check
>>> index e02f8e9..108b788 100755
>>> --- a/tools/build/rtems-test-check
>>> +++ b/tools/build/rtems-test-check
>>> @@ -32,7 +32,11 @@ done
>>>
>>>  case ${mode} in
>>>   exclude)
>>> -   output=${tests}
>>> +   if test -f $testdata; then
>>> + output=""
>>> +   else
>>> + output="${tests}"
>>> +   fi
>>> ;;
>>>   flags)
>>> if [ $test_count != 1 ]; then
>>>
>>> Are you in a position to test this change?
>>>
>>>
>> I am starting a test sweep of this now. I will need Starvos's proper
>> name and email to commit it though.
>>
>> --joel
>>
>>
>>> Chris
>>>
>>> On 17/1/17 6:24 am, Joel Sherrill wrote:
>>> > closes #2867.
>>> > ---
>>> >  tools/build/rtems-test-check | 90 ++
>>> --
>>> >  1 file changed, 45 insertions(+), 45 deletions(-)
>>> >
>>> > diff --git a/tools/build/rtems-test-check
>>> b/tools/build/rtems-test-check
>>> > index e02f8e9..e8acde0 100755
>>> > --- a/tools/build/rtems-test-check
>>> > +++ b/tools/build/rtems-test-check
>>> > @@ -32,7 +32,6 @@ done
>>> >
>>> >  case ${mode} in
>>> >   exclude)
>>> > -   output=${tests}
>>> > ;;
>>> >   flags)
>>> > if [ $test_count != 1 ]; then
>>> > @@ -99,52 +98,53 @@ if test -f $testdata; then
>>> >  testdata=$ntd
>>> >done
>>> >
>>> > -  for t in ${tests};
>>> > -  do
>>> > -case ${mode} in
>>> > -  exclude)
>>> > -allow="yes"
>>> > -for dt in ${excluded_tests};
>>> > -do
>>> > -  if test ${t} = ${dt}; then
>>> > -allow="no"
>>> > -  fi
>>> > -done
>>> > -if test ${allow} = yes; then
>>> > -  output="${output} ${t}"
>>> > -fi
>>> > -;;
>>> > -  flags)
>>> > -allow="no"
>>> > -for et in ${expected_fails};
>>> > -do
>>> > -  if test ${t} = ${et}; then
>>> > -allow="yes"
>>> > -  fi
>>> > -done
>>> > -if test ${allow} = yes; then
>>> > -  output="-DTEST_STATE_EXPECTED_FAIL=1"
>>> > -fi
>>> > -allow="no"
>>> > -for it in ${indeterminates};
>>> > -do
>>> > -  if test ${t} = ${it}; then
>>> > -allow="yes"
>>> > -  fi
>>> > -done
>>> > -if test ${allow} = yes; then
>>> > -  output="${output} -DTEST_STATE_INDETERMINATE=1"
>>> > -fi
>>> > -;;
>>> > -  *)
>>> > -echo "error: invalid mode" 1>&2
>>> > -echo "INVALID-TEST-DATA"
>>> > -exit 1
>>> > -;;
>>> > -esac
>>> > -  done
>>> >  fi
>>> >
>>> > +for t in ${tests};
>>> > +do
>>> > +  case ${mode} in
>>> > +exclude)
>>> > +  allow="yes"
>>> > +  for dt in ${excluded_tests};
>>> > +  do
>>> > + if test ${t} = ${dt}; then
>>> > +   allow="no"
>>> > + fi
>>> > +  done
>>> > +  if test ${allow} = yes; then
>>> > + output="${output} ${t}"
>>> > +  fi
>>> > +  ;;
>>> > +flags)
>>> > +  allow="no"
>>> > +  for et in ${expected_fails};
>>> > +  do
>>> > + if test ${t} = ${et}; then
>>> > +   allow="yes"
>>> > + fi
>>> > +  done
>>> > +  if test ${allow} = yes; then
>>> > + output="-DTEST_STATE_EXPECTED_FAIL=1"
>>> > +  fi
>>> > +  allow="no"
>>> > +  for it in ${indeterminates};
>>> > +  do
>>> > + if test ${t} = ${it}; then
>>> > +   allow="yes"
>>> > + fi
>>> > +  done
>>> > +  if test ${allow} = yes; then
>>> > + output="${output} -DTEST_STATE_INDETERMINATE=1"
>>> > +  fi
>>> > +  ;;
>>> > +*)
>>> > +  echo "error: invalid mode" 1>&2
>>> > +  echo "INVALID-TEST-DATA"

Re: Unable to build rtems-docs Was: Re: [PATCH] Update RMS documentation for overrun handling

2017-01-17 Thread Joel Sherrill
On Tue, Jan 17, 2017 at 9:44 AM, Stavros Passas  wrote:

>
> On 17 January 2017 at 15:39, Joel Sherrill  wrote:
>
>>
>>
>> On Tue, Jan 17, 2017 at 9:30 AM, Gedare Bloom  wrote:
>>
>>> On Fri, Jan 13, 2017 at 5:51 PM, Chris Johns  wrote:
>>> > On 14/1/17 8:21 am, Gedare Bloom wrote:
>>> >> I was unable to compile rtems-docs (cleanly), so I have not committed
>>> >> this patch yet.
>>> >
>>> > What is the problem?
>>> >
>>>
>>> It appears to be a problem in my distribution's texlive / latex
>>> support I guess. I'm on an aging Ubuntu here. :)
>>>
>>> I don't recall my exact failure on CentOS and Fedora but it turned out
>> that
>> they didn't package the complete TexLive contents. I ended up removing
>> what came with the distribution and using the TexLive master distribution.
>>
>> The README.txt file has details.
>>
>> https://git.rtems.org/rtems-docs/tree/README.txt
>>
>> I can now build the docs even on CentOS 6 which is as old a distribution
>> as anyone should be made to use. :)
>>
>>
>>
>>> $ uname -a
>>> Linux gedare-pc 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00
>>> UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>> $ sphinx-build --version
>>> Sphinx (sphinx-build) 1.5.1
>>>
>>> $ python --version
>>> Python 2.7.6
>>>
>>> Relevant-seeming shell output below:
>>>
>>> [ 24/101] Processing
>>> /home/gedare/work/rtems/rtems-docs/build/c-user/html/index.html:
>>> c-user/barrier_manager.rst c-user/board_support_packages.rst
>>> c-user/chains.rst c-user/clock_manager.rst
>>> c-user/configuring_a_system.rst c-user/constant_bandwidth_server.rst
>>> c-user/cpu_usage_statistics.rst c-user/directive_status_codes.rst
>>> c-user/dual_ports_memory_manager.rst c-user/event_manager.rst
>>> c-user/example_application.rst c-user/fatal_error.rst
>>> c-user/glossary.rst c-user/index.rst c-user/initialization.rst
>>> c-user/interrupt_manager.rst c-user/io_manager.rst
>>> c-user/key_concepts.rst c-user/linker_sets.rst
>>> c-user/message_manager.rst c-user/multiprocessing.rst
>>> c-user/object_services.rst c-user/overview.rst
>>> c-user/partition_manager.rst c-user/pci_library.rst c-user/preface.rst
>>> c-user/rate_monotonic_manager.rst c-user/red_black_trees.rst
>>> c-user/region_manager.rst c-user/rtems_data_types.rst
>>> c-user/scheduling_concepts.rst c-user/semaphore_manager.rst
>>> c-user/signal_manager.rst c-user/stack_bounds_checker.rst
>>> c-user/symmetric_multiprocessing_services.rst c-user/task_manager.rst
>>> c-user/timer_manager.rst c-user/timespec_helpers.rst
>>> c-user/user_extensions.rst -> build/c-user/html/index.html
>>> 16:19:18 runner ' /usr/local/bin/sphinx-build -Q -b html -c . -d
>>> /home/gedare/work/rtems/rtems-docs/build/c-user/doctrees/html .
>>> /home/gedare/work/rtems/rtems-docs/build/c-user/html '
>>> /usr/local/lib/python2.7/dist-packages/sphinx/util/requests.py:33:
>>> UserWarning: Some links may return broken results due to being unable
>>> to check the Server Name Indication (SNI) in the returned SSL cert
>>> against the hostname in the url requested. Recommended to install
>>> "requests[security]" as a dependency or upgrade to a python version
>>> with SNI support (Python 3 and Python 2.7.9+).
>>>   'Some links may return broken results due to being unable to '
>>>
>>> Exception occurred:
>>>   File "/usr/local/lib/python2.7/dist-packages/sphinx/writers/latex.py",
>>> line 366, in __init__
>>> self.sectionnames.index(builder.config.latex_toplevel_sectioning)
>>> ValueError: 'parts' is not in list
>>> The full traceback has been saved in /tmp/sphinx-err-sQHg09.log, if
>>> you want to report the issue to the developers.
>>> Please also report this if it was a user error, so that a better error
>>> message can be provided next time.
>>> A bug report can be filed in the tracker at
>>> . Thanks!
>>>
>>> Above warning and exception repeat 3 more times.
>>>
>>
>
> I've seen this issue, it was caused by latex_use_parts and was causing
> sphinx to crash.
> It has been fixed by https://github.com/sphinx-doc/sphinx/commit/
> 12096b3b863f40d10fce94e03abc4b8d3f856eb1
> thus, I would either try to update sphinx, or if you feel brave enough you
> could manually patch sphinx, which should theoretically fix this issue too.
>
>
I recall having issues that Chris didn't when I fetched the master instead
of using
the released version.

I did just install it in my home directory and prepend things to my PATH.
The
README.txt for CentOS and Fedora is what I had to do.

The required tools seem to either be too new to be right in distributions
or
too poorly packaged to build our documents.


>
> Traceback from /tmp/sphinx-err-sQHg09.log
>>>
>>> Traceback (most recent call last):
>>>   File "/usr/local/lib/python2.7/dist-packages/sphinx/cmdline.py",
>>> line 296, in main
>>> app.build(opts.force_all, filenames)
>>>   File 

Re: [PATCH] rtems-test-check: Make exclude work again.

2017-01-17 Thread Stavros Passas
Hi Joel,

Yesterday, with the creation of the ticket about the issue, (
https://devel.rtems.org/ticket/2867)
I also uploaded the patch that was fixing it -- after Chris's suggestion
over email.

The patch was created with my full credentials, so you can take them from
here:
https://devel.rtems.org/attachment/ticket/2867/fix-2867.patch

Best Regards,
   Stavros

On 17 January 2017 at 14:08, Joel Sherrill  wrote:

>
>
> On Mon, Jan 16, 2017 at 5:12 PM, Chris Johns  wrote:
>
>> This change looks wrong. Moving test loop out of the if testdata block
>> means variables in the test loop are not defined. I consider it a script
>> bug to assume it is ok to reference a variable that is not declared
>> because it is ambiguous if this intended behavior or a bug.
>>
>> Starvos sent me this change a few days ago and it looks good. I am
>> hoping he will make a patch we can merge so he can have the credit ..
>>
>> diff --git a/tools/build/rtems-test-check b/tools/build/rtems-test-check
>> index e02f8e9..108b788 100755
>> --- a/tools/build/rtems-test-check
>> +++ b/tools/build/rtems-test-check
>> @@ -32,7 +32,11 @@ done
>>
>>  case ${mode} in
>>   exclude)
>> -   output=${tests}
>> +   if test -f $testdata; then
>> + output=""
>> +   else
>> + output="${tests}"
>> +   fi
>> ;;
>>   flags)
>> if [ $test_count != 1 ]; then
>>
>> Are you in a position to test this change?
>>
>>
> I am starting a test sweep of this now. I will need Starvos's proper
> name and email to commit it though.
>
> --joel
>
>
>> Chris
>>
>> On 17/1/17 6:24 am, Joel Sherrill wrote:
>> > closes #2867.
>> > ---
>> >  tools/build/rtems-test-check | 90 ++
>> --
>> >  1 file changed, 45 insertions(+), 45 deletions(-)
>> >
>> > diff --git a/tools/build/rtems-test-check b/tools/build/rtems-test-check
>> > index e02f8e9..e8acde0 100755
>> > --- a/tools/build/rtems-test-check
>> > +++ b/tools/build/rtems-test-check
>> > @@ -32,7 +32,6 @@ done
>> >
>> >  case ${mode} in
>> >   exclude)
>> > -   output=${tests}
>> > ;;
>> >   flags)
>> > if [ $test_count != 1 ]; then
>> > @@ -99,52 +98,53 @@ if test -f $testdata; then
>> >  testdata=$ntd
>> >done
>> >
>> > -  for t in ${tests};
>> > -  do
>> > -case ${mode} in
>> > -  exclude)
>> > -allow="yes"
>> > -for dt in ${excluded_tests};
>> > -do
>> > -  if test ${t} = ${dt}; then
>> > -allow="no"
>> > -  fi
>> > -done
>> > -if test ${allow} = yes; then
>> > -  output="${output} ${t}"
>> > -fi
>> > -;;
>> > -  flags)
>> > -allow="no"
>> > -for et in ${expected_fails};
>> > -do
>> > -  if test ${t} = ${et}; then
>> > -allow="yes"
>> > -  fi
>> > -done
>> > -if test ${allow} = yes; then
>> > -  output="-DTEST_STATE_EXPECTED_FAIL=1"
>> > -fi
>> > -allow="no"
>> > -for it in ${indeterminates};
>> > -do
>> > -  if test ${t} = ${it}; then
>> > -allow="yes"
>> > -  fi
>> > -done
>> > -if test ${allow} = yes; then
>> > -  output="${output} -DTEST_STATE_INDETERMINATE=1"
>> > -fi
>> > -;;
>> > -  *)
>> > -echo "error: invalid mode" 1>&2
>> > -echo "INVALID-TEST-DATA"
>> > -exit 1
>> > -;;
>> > -esac
>> > -  done
>> >  fi
>> >
>> > +for t in ${tests};
>> > +do
>> > +  case ${mode} in
>> > +exclude)
>> > +  allow="yes"
>> > +  for dt in ${excluded_tests};
>> > +  do
>> > + if test ${t} = ${dt}; then
>> > +   allow="no"
>> > + fi
>> > +  done
>> > +  if test ${allow} = yes; then
>> > + output="${output} ${t}"
>> > +  fi
>> > +  ;;
>> > +flags)
>> > +  allow="no"
>> > +  for et in ${expected_fails};
>> > +  do
>> > + if test ${t} = ${et}; then
>> > +   allow="yes"
>> > + fi
>> > +  done
>> > +  if test ${allow} = yes; then
>> > + output="-DTEST_STATE_EXPECTED_FAIL=1"
>> > +  fi
>> > +  allow="no"
>> > +  for it in ${indeterminates};
>> > +  do
>> > + if test ${t} = ${it}; then
>> > +   allow="yes"
>> > + fi
>> > +  done
>> > +  if test ${allow} = yes; then
>> > + output="${output} -DTEST_STATE_INDETERMINATE=1"
>> > +  fi
>> > +  ;;
>> > +*)
>> > +  echo "error: invalid mode" 1>&2
>> > +  echo "INVALID-TEST-DATA"
>> > +  exit 1
>> > +  ;;
>> > +  esac
>> > +done
>> > +
>> >  echo ${output}
>> >
>> >  exit 0
>> >
>> ___
>> devel mailing list
>> devel@rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>>
>
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list

Unable to build rtems-docs Was: Re: [PATCH] Update RMS documentation for overrun handling

2017-01-17 Thread Gedare Bloom
On Fri, Jan 13, 2017 at 5:51 PM, Chris Johns  wrote:
> On 14/1/17 8:21 am, Gedare Bloom wrote:
>> I was unable to compile rtems-docs (cleanly), so I have not committed
>> this patch yet.
>
> What is the problem?
>

It appears to be a problem in my distribution's texlive / latex
support I guess. I'm on an aging Ubuntu here. :)

$ uname -a
Linux gedare-pc 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00
UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ sphinx-build --version
Sphinx (sphinx-build) 1.5.1

$ python --version
Python 2.7.6

Relevant-seeming shell output below:

[ 24/101] Processing
/home/gedare/work/rtems/rtems-docs/build/c-user/html/index.html:
c-user/barrier_manager.rst c-user/board_support_packages.rst
c-user/chains.rst c-user/clock_manager.rst
c-user/configuring_a_system.rst c-user/constant_bandwidth_server.rst
c-user/cpu_usage_statistics.rst c-user/directive_status_codes.rst
c-user/dual_ports_memory_manager.rst c-user/event_manager.rst
c-user/example_application.rst c-user/fatal_error.rst
c-user/glossary.rst c-user/index.rst c-user/initialization.rst
c-user/interrupt_manager.rst c-user/io_manager.rst
c-user/key_concepts.rst c-user/linker_sets.rst
c-user/message_manager.rst c-user/multiprocessing.rst
c-user/object_services.rst c-user/overview.rst
c-user/partition_manager.rst c-user/pci_library.rst c-user/preface.rst
c-user/rate_monotonic_manager.rst c-user/red_black_trees.rst
c-user/region_manager.rst c-user/rtems_data_types.rst
c-user/scheduling_concepts.rst c-user/semaphore_manager.rst
c-user/signal_manager.rst c-user/stack_bounds_checker.rst
c-user/symmetric_multiprocessing_services.rst c-user/task_manager.rst
c-user/timer_manager.rst c-user/timespec_helpers.rst
c-user/user_extensions.rst -> build/c-user/html/index.html
16:19:18 runner ' /usr/local/bin/sphinx-build -Q -b html -c . -d
/home/gedare/work/rtems/rtems-docs/build/c-user/doctrees/html .
/home/gedare/work/rtems/rtems-docs/build/c-user/html '
/usr/local/lib/python2.7/dist-packages/sphinx/util/requests.py:33:
UserWarning: Some links may return broken results due to being unable
to check the Server Name Indication (SNI) in the returned SSL cert
against the hostname in the url requested. Recommended to install
"requests[security]" as a dependency or upgrade to a python version
with SNI support (Python 3 and Python 2.7.9+).
  'Some links may return broken results due to being unable to '

Exception occurred:
  File "/usr/local/lib/python2.7/dist-packages/sphinx/writers/latex.py",
line 366, in __init__
self.sectionnames.index(builder.config.latex_toplevel_sectioning)
ValueError: 'parts' is not in list
The full traceback has been saved in /tmp/sphinx-err-sQHg09.log, if
you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error
message can be provided next time.
A bug report can be filed in the tracker at
. Thanks!

Above warning and exception repeat 3 more times.

Traceback from /tmp/sphinx-err-sQHg09.log

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/sphinx/cmdline.py",
line 296, in main
app.build(opts.force_all, filenames)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/application.py",
line 333, in build
self.builder.build_update()
  File "/usr/local/lib/python2.7/dist-packages/sphinx/builders/__init__.py",
line 246, in build_update
self.build(['__all__'], to_build)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/builders/__init__.py",
line 322, in build
self.write(docnames, list(updated_docnames), method)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/builders/latex.py",
line 130, in write
docwriter.write(doctree, destination)
  File "/usr/local/lib/python2.7/dist-packages/docutils/writers/__init__.py",
line 80, in write
self.translate()
  File "/usr/local/lib/python2.7/dist-packages/sphinx/writers/latex.py",
line 159, in translate
visitor = self.translator_class(self.document, self.builder)
  File "/usr/local/lib/python2.7/dist-packages/sphinx/writers/latex.py",
line 366, in __init__
self.sectionnames.index(builder.config.latex_toplevel_sectioning)
ValueError: 'parts' is not in list
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] rtems-test-check: Make exclude work again.

2017-01-17 Thread Joel Sherrill
On Mon, Jan 16, 2017 at 5:12 PM, Chris Johns  wrote:

> This change looks wrong. Moving test loop out of the if testdata block
> means variables in the test loop are not defined. I consider it a script
> bug to assume it is ok to reference a variable that is not declared
> because it is ambiguous if this intended behavior or a bug.
>
> Starvos sent me this change a few days ago and it looks good. I am
> hoping he will make a patch we can merge so he can have the credit ..
>
> diff --git a/tools/build/rtems-test-check b/tools/build/rtems-test-check
> index e02f8e9..108b788 100755
> --- a/tools/build/rtems-test-check
> +++ b/tools/build/rtems-test-check
> @@ -32,7 +32,11 @@ done
>
>  case ${mode} in
>   exclude)
> -   output=${tests}
> +   if test -f $testdata; then
> + output=""
> +   else
> + output="${tests}"
> +   fi
> ;;
>   flags)
> if [ $test_count != 1 ]; then
>
> Are you in a position to test this change?
>
>
I am starting a test sweep of this now. I will need Starvos's proper
name and email to commit it though.

--joel


> Chris
>
> On 17/1/17 6:24 am, Joel Sherrill wrote:
> > closes #2867.
> > ---
> >  tools/build/rtems-test-check | 90 ++
> --
> >  1 file changed, 45 insertions(+), 45 deletions(-)
> >
> > diff --git a/tools/build/rtems-test-check b/tools/build/rtems-test-check
> > index e02f8e9..e8acde0 100755
> > --- a/tools/build/rtems-test-check
> > +++ b/tools/build/rtems-test-check
> > @@ -32,7 +32,6 @@ done
> >
> >  case ${mode} in
> >   exclude)
> > -   output=${tests}
> > ;;
> >   flags)
> > if [ $test_count != 1 ]; then
> > @@ -99,52 +98,53 @@ if test -f $testdata; then
> >  testdata=$ntd
> >done
> >
> > -  for t in ${tests};
> > -  do
> > -case ${mode} in
> > -  exclude)
> > -allow="yes"
> > -for dt in ${excluded_tests};
> > -do
> > -  if test ${t} = ${dt}; then
> > -allow="no"
> > -  fi
> > -done
> > -if test ${allow} = yes; then
> > -  output="${output} ${t}"
> > -fi
> > -;;
> > -  flags)
> > -allow="no"
> > -for et in ${expected_fails};
> > -do
> > -  if test ${t} = ${et}; then
> > -allow="yes"
> > -  fi
> > -done
> > -if test ${allow} = yes; then
> > -  output="-DTEST_STATE_EXPECTED_FAIL=1"
> > -fi
> > -allow="no"
> > -for it in ${indeterminates};
> > -do
> > -  if test ${t} = ${it}; then
> > -allow="yes"
> > -  fi
> > -done
> > -if test ${allow} = yes; then
> > -  output="${output} -DTEST_STATE_INDETERMINATE=1"
> > -fi
> > -;;
> > -  *)
> > -echo "error: invalid mode" 1>&2
> > -echo "INVALID-TEST-DATA"
> > -exit 1
> > -;;
> > -esac
> > -  done
> >  fi
> >
> > +for t in ${tests};
> > +do
> > +  case ${mode} in
> > +exclude)
> > +  allow="yes"
> > +  for dt in ${excluded_tests};
> > +  do
> > + if test ${t} = ${dt}; then
> > +   allow="no"
> > + fi
> > +  done
> > +  if test ${allow} = yes; then
> > + output="${output} ${t}"
> > +  fi
> > +  ;;
> > +flags)
> > +  allow="no"
> > +  for et in ${expected_fails};
> > +  do
> > + if test ${t} = ${et}; then
> > +   allow="yes"
> > + fi
> > +  done
> > +  if test ${allow} = yes; then
> > + output="-DTEST_STATE_EXPECTED_FAIL=1"
> > +  fi
> > +  allow="no"
> > +  for it in ${indeterminates};
> > +  do
> > + if test ${t} = ${it}; then
> > +   allow="yes"
> > + fi
> > +  done
> > +  if test ${allow} = yes; then
> > + output="${output} -DTEST_STATE_INDETERMINATE=1"
> > +  fi
> > +  ;;
> > +*)
> > +  echo "error: invalid mode" 1>&2
> > +  echo "INVALID-TEST-DATA"
> > +  exit 1
> > +  ;;
> > +  esac
> > +done
> > +
> >  echo ${output}
> >
> >  exit 0
> >
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Best Place to add TLS Document Reference

2017-01-17 Thread Sebastian Huber



On 17/01/17 15:00, Joel Sherrill wrote:



On Tue, Jan 17, 2017 at 12:51 AM, Sebastian Huber 
> wrote:


On 16/01/17 20:22, Joel Sherrill wrote:

Hi

Where in our documentation would it be best to add this?

https://www.akkadia.org/drepper/tls.pdf



It would be nice to use something like bibtex in sphinx for this:

https://sphinxcontrib-bibtex.readthedocs.io/en/latest/quickstart.html



I don't disagree. I like having nice references.

I was more asking where would this get referenced so someone
will actually find it.


Its already referenced (poorly):

https://docs.rtems.org/branches/master/cpu-supplement/port.html#thread-local-storage

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Best Place to add TLS Document Reference

2017-01-17 Thread Joel Sherrill
On Tue, Jan 17, 2017 at 12:51 AM, Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> On 16/01/17 20:22, Joel Sherrill wrote:
>
>> Hi
>>
>> Where in our documentation would it be best to add this?
>>
>> https://www.akkadia.org/drepper/tls.pdf
>>
>
> It would be nice to use something like bibtex in sphinx for this:
>
> https://sphinxcontrib-bibtex.readthedocs.io/en/latest/quickstart.html
>
>
I don't disagree. I like having nice references.

I was more asking where would this get referenced so someone
will actually find it.

> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax : +49 89 189 47 41-09
> E-Mail  : sebastian.hu...@embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] c-user: Add support for references via bibtex

2017-01-17 Thread Joel Sherrill
On Tue, Jan 17, 2017 at 3:41 AM, Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> Its just a proof of concept. Seems to work more or less. Needs a waf clean
> to really work reliable after updates.
>
>
Chris is on holiday for a few weeks. I am not sure anyone besides him,
you and I has even built the Spinx documentation.

You should convert the references in the rate monotonic manager chapter
to this also.

--joel


> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax : +49 89 189 47 41-09
> E-Mail  : sebastian.hu...@embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] configure: Add RTEMS_TOOL_CHAIN_ERROR

2017-01-17 Thread Sebastian Huber

On 13/01/17 15:54, Joel Sherrill wrote:



On Fri, Jan 13, 2017 at 4:47 AM, Sebastian Huber 
> wrote:


On 13/01/17 09:48, Sebastian Huber wrote:

On 12/01/17 22:44, Joel Sherrill wrote:

I repeat that I would like to purge old tests that result
in conditionals in
source code we no longer need. So any HAVE_XXX that are a side
effect of transitioning newlib additions should be removed.


I removed three tests today which I added in the last two
years or so.


I removed a couple of more obsolete configure stuff. I am done for
now.


Thanks. It is a continuous battle of creep and push back.

Without looking, I am sure you are right that 
__RTEMS_DO_NOT_INLINE_THREAD_ENABLE_DISPATCH__
is no longer used but it did serve a purpose that may have been lost 
in all the

rework.

When doing coverage testing, inlining a method with one of more 
conditionals
increases the cyclomatic complexity of the calling method and number 
of test
cases required to do full coverage of all branch paths. That flag 
eliminated

at least 250 paths to test in the generated code.

With the rework, did anything get inlined lots of times that includes a
conditional test? If so, then the calling method has hidden cyclomatic
complexity and requires increased test cases for full coverage.

I am pretty sure this is written down as advice in the coverage area
but I have no idea how to turn it into good solid coding style/rules.
The best I can formulate is:

Inlining a method requires that it be fully tested in the context of each
place it is called. Inlining complex methods with conditionals is 
undesirable

from a coverage testing viewpoint. Try to inline only simple methods.


Yes, this is something to think about. The thread dispatch 
disable/enable is used in fewer places now, maybe it makes sense to make 
it a non-inline function to simplify things or replace it with 
_Thread_Dispatch_direct() if possible.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH] c-user: Add support for references via bibtex

2017-01-17 Thread Sebastian Huber
Its just a proof of concept. Seems to work more or less. Needs a waf 
clean to really work reliable after updates.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH] c-user: Add support for references via bibtex

2017-01-17 Thread Sebastian Huber
---
 c-user/conf.py|   2 +
 c-user/index.rst  |   1 +
 c-user/refs.bib   | 151 ++
 c-user/symmetric_multiprocessing_services.rst |   2 +-
 c-user/zreferences.rst|   4 +
 5 files changed, 159 insertions(+), 1 deletion(-)
 create mode 100644 c-user/refs.bib
 create mode 100644 c-user/zreferences.rst

diff --git a/c-user/conf.py b/c-user/conf.py
index 90a7af7..147fbf7 100644
--- a/c-user/conf.py
+++ b/c-user/conf.py
@@ -3,6 +3,8 @@ sys.path.append(os.path.abspath('../common/'))
 
 from conf import *
 
+extensions = ['sphinxcontrib.bibtex']
+
 version = '4.11.99'
 release = '4.11.99'
 
diff --git a/c-user/index.rst b/c-user/index.rst
index 4aa267d..67812fb 100644
--- a/c-user/index.rst
+++ b/c-user/index.rst
@@ -76,6 +76,7 @@ to the Community Project hosted at http://www.rtems.org/.
linker_sets
example_application
glossary
+   zreferences
 
 *  :ref:`genindex`
 *  :ref:`search`
diff --git a/c-user/refs.bib b/c-user/refs.bib
new file mode 100644
index 000..92ffc24
--- /dev/null
+++ b/c-user/refs.bib
@@ -0,0 +1,151 @@
+@inproceedings{AdaEurope2015MrsP,
+  author={Catellani, Sebastiano and Bonato, Luca and Huber, Sebastian and 
Mezzetti, Enrico},
+  title={{Challenges in the Implementation of MrsP}},
+  booktitle={Reliable Software Technologies - Ada-Europe 2015},
+  pages={179-195},
+  year={2015},
+}
+@phdthesis{Brandenburg,
+  author={Brandenburg, Björn B.},
+  title={Scheduling and Locking in Multiprocessor Real-Time Operating Systems},
+  year={2011},
+  url={http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf},
+}
+@inproceedings{Futex,
+  author={Franke, Hubertus and Russel, Rusty and Kirkwood, Matthew},
+  title={{Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux}},
+  booktitle={Proceedings of the Ottawa Linux Symposium 2002},
+  pages={479-495},
+  year={2002},
+  url={https://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf},
+}
+@inproceedings{OMIP,
+  author={Brandenburg, Björn B.},
+  title={{A Fully Preemptive Multiprocessor Semaphore Protocol for 
Latency-Sensitive Real-Time Applications}},
+  booktitle={Proceedings of the 25th Euromicro Conference on Real-Time Systems 
(ECRTS 2013)},
+  pages={292-302},
+  year={2013},
+  url={http://www.mpi-sws.org/~bbb/papers/pdf/ecrts13b.pdf},
+}
+@inproceedings{MrsP,
+  author={Burns, A. and Wellings, A. J.},
+  title={{A Schedulability Compatible Multiprocessor Resource Sharing Protocol 
- MrsP}},
+  booktitle={Proceedings of the 25th Euromicro Conference on Real-Time Systems 
(ECRTS 2013)},
+  year={2013},
+  url={http://www-users.cs.york.ac.uk/~burns/MRSPpaper.pdf},
+}
+@manual{DrepperMemory,
+  author={Drepper, Ulrich},
+  title={What Every Programmer Should Know About Memory},
+  year={2007},
+  url={http://www.akkadia.org/drepper/cpumemory.pdf},
+}
+@manual{DrepperTLS,
+  author={Drepper, Ulrich},
+  title={ELF Handling For Thread-Local Storage},
+  year={2013},
+  url={http://www.akkadia.org/drepper/tls.pdf},
+}
+@manual{TECSW15832D11,
+  organization={embedded brains GmbH},
+  author={Huber, Sebastian},
+  title={RTEMS Features/Changes Specification},
+  note={ESA Contract No. 4000xx/15/NL/FE/as - D11},
+  year={2015},
+}
+@inproceedings{Hrtimers2006,
+  author={Gleixner, Thomas and Niehaus, Douglas},
+  title={{Hrtimers and Beyond: Transforming the Linux Time Subsystems}},
+  booktitle={Proceedings of the Linux Symposium},
+  pages={333-346},
+  year={2006},
+  url={https://www.kernel.org/doc/ols/2006/ols2006v1-pages-333-346.pdf},
+}
+@inproceedings{TimerWheel1987,
+  author={Varghese, G. and Lauck, T.},
+  title={{Hashed and Hierarchical Timing Wheels: Data Structures for the 
Efficient Implementation of a Timer Facility}},
+  booktitle={Proceedings of the 11th ACM Symposium on Operating Systems 
Principles},
+  year={1987},
+  
url={http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf},
+}
+@techreport{BSDCallout1995,
+  author={Varghese, G. and Costello, A.},
+  title={{Redesigning the BSD callout and timer facilities}},
+  institution={Washington University in St. Louis},
+  note={WUCS-95-23},
+  year={1987},
+  month={November},
+  url={http://web.mit.edu/afs.new/sipb/user/daveg/ATHENA/Info/wucs-95-23.ps},
+}
+@techreport{Seqlock2012,
+  author={Boehm, Hans-J.},
+  title={{Can Seqlocks Get Along With Programming Language Memory Models?}},
+  institution={HP Laboratories},
+  note={HPL-2012-68},
+  year={2012},
+  month={June},
+  url={http://www.hpl.hp.com/techreports/2012/HPL-2012-68.pdf}
+}
+@techreport{CilkN3409,
+  author={Halpern, Pablo},
+  title={{Strict Fork-Join Parallelism}},
+  institution={Intel, Corp.},
+  note={N3409},
+  year={2012},
+  month={September},
+  url={http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3409.pdf}
+}
+@techreport{CilkN3557,
+  author={Halpern, Pablo},
+  title={{Considering a Fork-Join