1. 02 Jun, 2016 6 commits
  2. 31 May, 2016 3 commits
  3. 09 May, 2016 4 commits
  4. 06 May, 2016 1 commit
  5. 03 May, 2016 2 commits
  6. 29 Apr, 2016 4 commits
  7. 26 Apr, 2016 6 commits
  8. 25 Mar, 2016 4 commits
    • Andrew Jeffery's avatar
      strgrp: Add cosine fudge-curve to unify filter comparison spaces · e8f7a978
      Andrew Jeffery authored
      If we are to use should_grp_score_cos(x,y) as a filter the the following
      relationship must hold (from least to most expensive):
      
              should_grp_score_len(x,y)
                      >= should_grp_score_cos(x,y)
                      >= grp_score(x)
      
      should_grp_score_cos(x,y) wasn't holding up its part of the bargain, so
      real data was used to generate a fudge curve to bring
      should_grp_score_cos(x,y) results into the same space. Really this is a
      terrible hack and the problem needs more thought. Evaluation of
      should_grp_score_cos(x,y)'s performance benefit (given the relaxation of
      the filter under the fudge curve) is sorely needed.
      e8f7a978
    • Andrew Jeffery's avatar
      strgrp: Use angular similarity for distance metric properties · 911a66a7
      Andrew Jeffery authored
      Distance metrics allow us to compare similarity results, however
      applying the change leads to test suite breakage as we no longer satisfy
      the requirement that each filter's score is at most as large as that of
      the previous filter^. As such, also stop ccanlint from executing the
      tests that are known to fail until we work around the problem.
      
      ^ This is a problem that has existed since the introduction of the
      cosine similarity filter, it just wasn't detected by the test suite.
      911a66a7
    • Andrew Jeffery's avatar
      strgrp: Use ratio of hypotenuse for consistent comparisons · 44c0274a
      Andrew Jeffery authored
      Ensure comparing filter results is sensible by using a consistent
      calculation. Note that the cosine similarity measurement doesn't yet
      conform and this can give spurious results that are not detected by the
      test suite.
      44c0274a
    • Andrew Jeffery's avatar
      strgrp: Shift constant out of loop · 10db5dc0
      Andrew Jeffery authored
      Likely this was optimised away, but the code now represents the intent.
      10db5dc0
  9. 08 Mar, 2016 1 commit
  10. 25 Feb, 2016 3 commits
  11. 15 Feb, 2016 4 commits
    • David Gibson's avatar
      altstack: Clarify checking macros · 11af31c3
      David Gibson authored
      The chkfail() and chkok() macros in altstack's test program are pretty
      difficult to read.  More importantly, though, they do all their tests with
      one big ok1().  That means if the test fails, you get no indication which
      of the checks was actually wrong, making debugging harder.
      
      This reworks the macros into a more verbose form that's easier to read,
      and splits them into multiple ok1() tests to make failures more explicit.
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      11af31c3
    • David Gibson's avatar
      altstack: Declare memory clobbers · dd3f80c1
      David Gibson authored
      altstack includes a couple of inline asm blocks with x86 push and pop
      instructions.  These instructions will access memory (the stack), but
      that's not declared in inline asm statement.  We seem to be getting away
      with it, but in theory that could allow the compiler to re-order accesses
      to local variables across the asm block.  Since those blocks change the
      location of the stack, that could be very bad.
      
      Adding a "memory" clobber should prevent this (effectively making the asm
      blocks a compiler memory barrier).
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      dd3f80c1
    • David Gibson's avatar
      altstack: Include config.h in run.c · c9b3a91c
      David Gibson authored
      ccan programs should always include config.h before anything else to make
      sure everything is set up correctly.  Doing so in altstack's run.c means
      it no longer needs an explicit _XOPEN_SOURCE 700, since _GNU_SOURCE is set
      in config.h (for GNU libc, anyway).
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      c9b3a91c
    • David Gibson's avatar
      altstack: Increase signal stack size · a4e6f6cb
      David Gibson authored
      At present the altstack module uses a stack of size MINSIGSTKSZ for its
      SIGSEGV handler.  Although MINSIGSTKSZ is defined to be large enough to
      execute a signal handler, it doesn't guarantee that you can do anything
      very much within it.
      
      With certain libc versions, MINSIGSTKSZ is not enough to execute the
      longjmp() used in altstack.  Specfically, with Ubuntu 12.04 (the default
      install for Travis containers), the first time longjmp() is executed the
      symbol must be resolved by the dynamic linker in a process which overruns
      the MINSIGSTKSZ sized stack.  That then corrupts local variables in
      altstack() itself causing a number of subsequent failures.
      
      This patch addresses the problem by changing from MINSIGSTKSZ to SIGSTKSZ
      which is supposed to cover "the usual requirements for an alternate signal
      stack".
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      a4e6f6cb
  12. 08 Feb, 2016 1 commit
  13. 05 Feb, 2016 1 commit