1. 28 Nov, 2014 5 commits
    • Alessandro Rubini's avatar
      userspace/libwr and doc: add shared memory support · 65dbe669
      Alessandro Rubini authored
      This is the new IPC mechanism (not RPC) to pass port status and
      other status-like information among processes, to avoid lenghty RPC
      calls.
      
      Each WR process has 32k of shared space.
      
      Thanks to Adam for some fixes.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
      65dbe669
    • Alessandro Rubini's avatar
      kernel config: change in timing setup · fe9f6db6
      Alessandro Rubini authored
      This changes the kernel configuration, in two ways:
      
      1- It uses CONFIG_NOHZ, which enables Hight Resolution Timers
      
      Unfortunately this has no effect, as the timeevent device for AT91
      doesn't support oneshot mode.  This means that if you usleep(100)
      you'll wait 10ms.  Thus, we can't remove the busy-looping in libwr/util.c .
      
      This is the output of my libstamp sample program:
      
           0.003 -- stamping overhead
          12.243 -- usleep     1 usec
          10.005 -- usleep     1 usec
           9.963 -- usleep     2 usec
          10.037 -- usleep     5 usec
          10.083 -- usleep    10 usec
           9.905 -- usleep   100 usec
          10.394 -- usleep  1000 usec
          19.775 -- usleep 10000 usec
         109.925 -- usleep 100000 usec
      
      2- It moves CONFIG_HZ from 100 to 1000. Thus, we have 1000 timer interrupts
      per second.
      
      This means, in practice, that if you usleep(100) you wait 1ms.  This
      costs around 2% of CPU power (measured by running a cpu-busy program
      before and after the change, in both cases after killing all
      processes), but makes stuff millisecond-grained instead of
      10ms-grained. This is a benefit for the PTP daemon and everything uses
      timeouts in system calls.
      
      This is libstamp again:
      
           0.003 -- stamping overhead
           0.662 -- usleep     1 usec
           0.869 -- usleep     1 usec
           0.976 -- usleep     2 usec
           0.951 -- usleep     5 usec
           0.993 -- usleep    10 usec
           0.999 -- usleep   100 usec
           1.999 -- usleep  1000 usec
          11.006 -- usleep 10000 usec
         101.043 -- usleep 100000 usec
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      fe9f6db6
    • Alessandro Rubini's avatar
      boot scripts: better examples · 56891b34
      Alessandro Rubini authored
      This updates binaries/wrboot-* to be more commented and complete.
      It also adds wrboot-install and wrboot-nand, that I personally used.
      
      As a side effect, "mem=64m" is removed by all command lines, as it has
      been properly autodetected for a few years now, so it is not needed
      any more.
      
      Documentation is updated too.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      56891b34
    • Grzegorz Daniluk's avatar
      3789e8b5
    • Alessandro Rubini's avatar
      0b161dcf
  2. 20 Nov, 2014 2 commits
  3. 19 Nov, 2014 13 commits
  4. 18 Nov, 2014 4 commits
  5. 13 Nov, 2014 2 commits
  6. 17 Oct, 2014 14 commits