1. 15 Mar, 2004 6 commits
  2. 12 Mar, 2004 5 commits
    • Mike Hibler's avatar
      Random imagezip hacking: · 27d76461
      Mike Hibler authored
      1. Make imagezip (and imageunzip) understand LILO bootblocks.
         Imagezip will create relocation information for all the absolute
         blocks that LILO embeds in the partition.  Imageunzip will correctly
         relocate those locations when laying down the new image.  Thus
         Linux slice images can be layed down anywhere on the disk (as can
         BSD images).
      
      2. Because #1 is incompatible with the old imageunzip, I bumped the
         imagezip format version number (to 3) on images that contain relocations
         (i.e., slice images).  Make sure you have a new imageunzip to unzip
         new slice images.  Whole disk images are still created as version 2
         since they contain no relocs and thus are no different than before.
      
      3. Added -N option to imagezip to create slice images without any
         relocations.  [ We could create our Emulab images this way, since we
         don't have any mechanism for, or reason to, let the user choose which
         partition to load an image in.  Hence our slice images always wind up
         at the same offset on the disk and relocations are unnecessary. ]
         Note that there is no significant expense in either time or space for
         relocations, this option was more of a debugging thing.
      27d76461
    • Leigh B. Stoller's avatar
      Fix minor bug. · 45a42844
      Leigh B. Stoller authored
      45a42844
    • Shashi Guruprasad's avatar
      A large packet-statistics global array was left behind when it was · d6d58338
      Shashi Guruprasad authored
      moved to the heap on a per-flow basis. This had caused the size of
      the nse binary to go up by > 1MB. Removed that in this patch
      d6d58338
    • Shashi Guruprasad's avatar
      This commit has several things. · db63c39e
      Shashi Guruprasad authored
      - Fix to deal with FreeBSD 4.7 (4.x) problems with select() timeout and using
        BPF ioctl() BIOCSSEESENT. Several packets were being lost and depending on
        when exactly it happens, flows weren't making progress. In the particular
        case of 1 nse sending packets over 2 veths on the same pnode, this problem
        was the most severe. The kernel issues are discussed in the following
        freebsd arch mailing list. Also more discussions are on testbed-ops in
        the thread "bizarre veth/bpf/tcpdump behaviour"
      
      http://lists.freebsd.org/pipermail/freebsd-arch/2003-November/001446.html
      http://lists.freebsd.org/pipermail/freebsd-arch/2003-November/001439.html
      http://lists.freebsd.org/pipermail/freebsd-arch/2003-November/001444.html
      http://lists.freebsd.org/pipermail/freebsd-arch/2003-November/001447.html
      
      - The port classifier stores packet timestamps and sizes and can be made to
        dump them from the tcl side. The default is 100000 packets which is compiled
        in. This is on a per destination port basis. For a large number of simulator
        flows, it can eat up memory quickly. Will be removed out of the standard
        build after my thesis. The format of the output is
        <packet_timestamp> <size> <simulator_clock>, one per line.
      - In packets received from the wire, bpf timestamps (relative to start of nse)
        are stored in the simulator packet that is injected into the simulator. Again
        useful for traces. If the simulator packet is scheduled again, this timestamp
        will be overwritten to whenever the packet/event needs to be dispatched.
      - IPTap supports sendcount and recvcount methods (callable from Tcl) to print
        debugging info
      db63c39e
    • Robert Ricci's avatar
      Update to the latest version of cvsweb in the 2.0 branch. (There is · 761f5286
      Robert Ricci authored
      now a 3.0 branch, but it seems substantially different.)
      
      This doesn't solve the problem I was hoping it would (being unable to
      grab a tarball of the top-level directory), but I've already done the
      work to update...
      761f5286
  3. 11 Mar, 2004 6 commits
  4. 10 Mar, 2004 6 commits
  5. 09 Mar, 2004 13 commits
    • Robert Ricci's avatar
      Fix a subtle, but important bug introduced back in version 1.48 . At · 5b7289a8
      Robert Ricci authored
      that point, I switched the meaning of the last parameter to fd_score,
      but forgot to change one place it gets called.
      
      The result was that if there were desires that caused violations,
      they would not be removed properly by remove_node() .
      5b7289a8
    • Robert Ricci's avatar
      Add violations to the scoring selftest, and print out the solution · b26f2fd8
      Robert Ricci authored
      that gave us the error.
      b26f2fd8
    • Kirk Webb's avatar
      Updated rusage command to put pnode id into rusage table rather than · d0e2aff4
      Kirk Webb authored
      node id (which could be virtual).
      d0e2aff4
    • Mike Hibler's avatar
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      update · 959f6df1
      Mike Hibler authored
      959f6df1
    • Leigh B. Stoller's avatar
      Update · 6ca8878b
      Leigh B. Stoller authored
      6ca8878b
    • Robert Ricci's avatar
      Add a -M option for Mike, which, when used with -l, causes snmpit · 73a3620c
      Robert Ricci authored
      to print out MAC addresses for the interfaces.
      73a3620c
    • Leigh B. Stoller's avatar
      Clean up of the web to batchexp interface: · b6a9b9c2
      Leigh B. Stoller authored
      * Add proper check_slot() calls to all of the user input that is going into
        the DB (already had taint checking), since batchexp is now available for
        interactive use from ops.
      
      * Remove separate DB insertions of noswap/noidleswap reasons from web
        script, and pass on the command line from web to batchexp. Now inserted
        in the backend script so that they can be provided on the command line
        when batchexp is used interactively.
      
      * Change defaults in backend script; experiments now default to swappable
        and idleswap; previously defaulted to not swappable and no idleswap.
      
      * Remove [-s] (swappable) and add [-S <reason>] option. -S sets experiment to
        not swappable, with supplied reason (text string).
      
      * Add [-L <reason>] option. -L sets experiment to no idleswap, with
        supplied reason (text string).
      
      * Add several missing table_regex entries for experiments table.
      b6a9b9c2
    • Leigh B. Stoller's avatar
      Remove beginexp.php3, which is the old begin experiment page. No · 039cba2e
      Leigh B. Stoller authored
      longer referenced so lets not confuse us.
      039cba2e
    • Robert Ricci's avatar
      A faily fundamental change in assign - change the criteria we use · 5a72226d
      Robert Ricci authored
      to accept new solutions, so that we don't give violtions any special
      treatment.
      
      This can greatly reduce 'thrasing' at low scores, allowing assign to
      converge on a solution much faster. For example, in the 1000-node
      topology used for the virtualization paper, assign's runtime dropped
      from nearly two hours to just over half an hour, with no degredation
      in scores found.
      
      You can get the old accept behavior by enabling the
      SPECIAL_VIOLATION_TREATMENT #define, which is on right now (hence, we
      are not using this change yet.)
      
      Here are the pertinent comments from the code:
      
      #ifdef SPECIAL_VIOLATION_TREATMENT
               /*
                * In this ifdef, we always accept new solutions that have fewer
                * violations than the old solution, and when we're trying to
                * determine whether or not to accept a new solution with a higher
                * score, we don't take violations into the account.
                *
                * The problem with this shows up at low temperatures. What can often
                * happen is that we accept a solution with worse violations but a
                * better (or similar) score. Then, if we were to try, say the first
                * solution (or a score-equivalent one) again, we'd accept it again.
                *
                * What this leads to is 'thrashing', where we have a whole lot of
                * variation of scores over time, but are not making any real
                * progress. This prevents the cooling schedule from converging for
                * much, much longer than it should really take.
                */
      #else // no SPECIAL_VIOLATION_TREATMENT
               /*
                * In this branch of the ifdef, we give violations no special
                * treatment when it comes to accepting new solution - we just add
                * them into the score. This makes assign behave in a more 'classic'
                * simulated annealing manner.
                *
                * One consequence, though, is that we have to be more careful with
                * scores. We do not want to be able to get into a situation where
                * adding a violation results in a _lower_ score than a solution with
                * fewer violations.
                */
      5a72226d
    • Robert Ricci's avatar
    • Mike Hibler's avatar
      update tarball-making target · 6c8e42f1
      Mike Hibler authored
      fix up standalone makefiles
      have imagezip -v spit out the FSes it supports
      6c8e42f1
  6. 08 Mar, 2004 4 commits