1. 14 May, 2019 1 commit
  2. 13 May, 2019 1 commit
  3. 10 May, 2019 5 commits
  4. 09 May, 2019 6 commits
  5. 01 May, 2019 5 commits
  6. 10 Mar, 2019 2 commits
  7. 07 Mar, 2019 1 commit
  8. 06 Mar, 2019 6 commits
  9. 05 Mar, 2019 13 commits
    • Vikram Narayanan's avatar
      nullnet/smp: Boot smp LCDs for nullnet · 20a2482f
      Vikram Narayanan authored
      setup_once, iperf:9948 lcdenter | skbqueue 1
      setup_once, iperf:9949 lcdenter | skbqueue 0
      message from lcd ffff882821c7ac00: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/dispatch.c:68:
      message from lcd ffff882821c7ac00: net got PREP_CHANNEL msg
      message from lcd ffff882821f7f800: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/dispatch.c:68:
      message from lcd ffff882821c7ac00: end of msg
      message from lcd ffff882821f7f800: net got PREP_CHANNEL msg
      message from lcd ffff882821f7f800: end of msg
      message from lcd ffff882821c7ac00: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/nullnet_caller.c:242:
      message from lcd ffff882821c7ac00: setup_async_channel
      
      message from lcd ffff882821f7f800: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/nullnet_caller.c:242:
      message from lcd ffff882821c7ac00: end of msg
      message from lcd ffff882821f7f800: setup_async_channel
      
      message from lcd ffff882821f7f800: end of msg
      message from lcd ffff882821c7ac00: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/nullnet_caller.c:284:
      message from lcd ffff882821f7f800: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/nullnet_caller.c:284:
      message from lcd ffff882821c7ac00: ==> Prep buffers
      message from lcd ffff882821c7ac00: end of msg
      message from lcd ffff882821f7f800: ==> Prep buffers
      message from lcd ffff882821f7f800: end of msg
      message from lcd ffff882821c7ac00: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/nullnet_caller.c:1135:
      message from lcd ffff882821f7f800: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/glue/nullnet_caller.c:1135:
      message from lcd ffff882821c7ac00: prep_channel_callee: Preparing sync send
      message from lcd ffff882821f7f800: prep_channel_callee: Preparing sync send
      message from lcd ffff882821c7ac00: end of msg
      message from lcd ffff882821f7f800: end of msg
      
      Tested nullnet with two iperf processes, each sending packets via
      different LCDs.
      [  9958] 0.00-60.00 sec  56.0 GBytes  8.02 Gbits/sec  40895407/0   681589 pps
      [  9958] Sent 40895407 datagrams
      [  9957] 0.00-60.00 sec  56.0 GBytes  8.01 Gbits/sec  40891131/0   681518 pps
      [  9957] Sent 40891131 datagrams
      20a2482f
    • Vikram Narayanan's avatar
      lcds/smp: Refactor child_lcd_enter · c4f5ca4a
      Vikram Narayanan authored
      Create current_task for child LCD
      c4f5ca4a
    • Vikram Narayanan's avatar
      lcds/smp: Introduce current pointer · 81a98bed
      Vikram Narayanan authored
      For each LCD, maintain a current pointer to store PTS() and async
      related stuff.
      81a98bed
    • Vikram Narayanan's avatar
      lcds/smp: Introduce spinlocks · 2ff902f5
      Vikram Narayanan authored
      Roll-in spinlocks from xv6 as Linux spinlocks has a ton of dependencies.
      Bring back the elided lock definitions.
      2ff902f5
    • Vikram Narayanan's avatar
      5b314d04
    • Vikram Narayanan's avatar
      lcd/smp: Add smp support to nullnet module · 62a1faab
      Vikram Narayanan authored
      Bring in support for registration of async channel from the child LCD.
      Make sure all instances of async channel communication knows with
      channel they are communicating with KLCD (tag it with LCD_ID).
      
      As of now, the child LCD boots, creates an async communication channel
      with KLCD and spins on a tight while loop. From the below trimmed log,
      one can notice that we have two LCDs (note the LCD pointer at message
      for lcd xxxxx)
      
      message from lcd ffff8813fde63c00: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/dummy_lcd/main.c:218:
      message from lcd ffff8813fde63c00: __dummy_lcd_init: entering
      message from lcd ffff8813fde63c00: LCD 0 entering...
      message from lcd ffff8813fde63c00: msg @ /local/devel/lcd-smp/lcd-domains/liblcd/lcd-domains/enter_exit.c:60:
      message from lcd ffff8813fde63c00: call endpoint created and installed
      ...
      message from lcd ffff8813fde63c00: ===============
      message from lcd ffff8813fde63c00:   LCD BOOTED
      message from lcd ffff8813fde63c00: ===============
      message from lcd ffff8813fde63c00: [0] nullnet reg channel 261
      ...
      message from klcd ffff8813fde66000: Starting LCD 1
      ...
      message from lcd ffff8813fde64000: LCD 1 entering...
      message from lcd ffff8813fde64000: ===============
      message from lcd ffff8813fde64000:   Child LCD BOOTED
      message from lcd ffff8813fde64000: ===============
      ...
      message from lcd ffff8813fde63c00: SUCCESSFULLY REGISTERED DUMMY!
      message from klcd ffff8813fde65800: register_child child 1 registration received, setting up thc_chl
      message from klcd ffff8813fde65800: msg @ /local/devel/lcd-smp/lcd-domains/test_mods/nullnet/net_klcd/glue/nullnet_callee.c:2152:
      message from klcd ffff8813fde65800: register_child, child 1 registration complete
      62a1faab
    • Vikram Narayanan's avatar
      lcd/smp: Introduce per-lcd gs page · 699f55df
      Vikram Narayanan authored
      Introduce per-lcd global segment page where each lcd will have its
      boot_info. Modify lcd_get_boot_info to pull the page from gs instead of
      a hardcoded address. Now, only gs:0x0 is populated. In the future, if
      needed, we can have other private per-lcd variables as well.
      699f55df
    • Vikram Narayanan's avatar
      lcd: add gs segment support · 7c485a35
      Vikram Narayanan authored
      Earlier the gs base was set to NULL. Now allocate a page
      and configure lcd to use that page for saving and retrieving
      the stack canary. Apart from stack canaries gs can be used for other
      purposes as well (Such as percpu).
      7c485a35
    • Vikram Narayanan's avatar
      lcds/smp: Use a single EPT for all LCDs · 4f3bddd0
      Vikram Narayanan authored
      Partition bootstrap pages, stack pages s.t each LCD will use its own
      set of pages.
      4f3bddd0
    • Vikram Narayanan's avatar
      afe85454
    • Vikram Narayanan's avatar
      lcds/smp: Release the module only once · 09954387
      Vikram Narayanan authored
      As we map the same code/data pages of the LCD module in both the EPTs
      (parent and child), make sure to avoid double-free
      09954387
    • Vikram Narayanan's avatar
      test_mods/nullnet: Enable module init for the parent thread · 7b62f2c3
      Vikram Narayanan authored
      Enable the parent LCD to proceed with module init whereas the child LCD
      is spinning on a while loop.
      7b62f2c3
    • Vikram Narayanan's avatar
      lcds/nullnet: Prepare boot/main to boot multiple LCDs · 060f0289
      Vikram Narayanan authored
      Modify dummy_lcd to just boot, init and spin on a while loop.
      060f0289