GeekFest 2023

From DDCIDeos
Jump to navigationJump to search

Description

GeekFest, our cross product line road-mapping exercise, will be held in Phx the week of April 17.
Goals for the meeting include:

  1. Review/Update work breakdown structures for all active projects/programs, and review/update resource assignments
  2. Derive a strategy, or roadmap for the set of projects, products, and programs we will be working into the future
  3. Cross product line coordination (streamline)
  4. Product line (feature design) breakout sessions

Date

Week of April 17th: travel on Sunday (16th), meetings on Mon-Thurs, and 1/2 day on Fri. Travel home Friday after 3pm.

Travel Plans

First "Riders" column implies from airport to Office/Hotel, second "Riders" column is to the airport. Leave blank if not renting a car.

Consider using Uber or Lyft to get to the hotel and connect with a co-worker who has rented a car.

Hotel is Staybridge Suites - Talking Stick map
9141 E Hummingbird Lane
Scottsdale, AZ 85250 USA
Hotel line: 480-291-5175

My Travel Plans
Person Rental Arrival Riders Departure Riders
Aaron Larson Yes 16-Apr-2023-23:11 DL1260 21-Apr-2023-18:46 AA1560
Andre Martinez Uber w/Chuck 16-Apr-2023-21:38 F9 1563 21-Apr-2023-12:08 UA1649 Uber
Bob Morris TBD 19-Apr-2023-00:00 22-Apr-2023-00:00
Bill Cronk Yes 17-Apr-2023-07:55 SW2199 Gary G 21-Apr-2023-19:25 SW800
Chris Pow No 16-Apr-2023-19:50 DL 1455 21-Apr-2023-16:25 F9 2966
Chuck Frayman Uber w/Andre 16-Apr-2023-22:04 UA679 21-Apr-2023-14:45 UA1253
David Gibbs No 16-Apr-2023-00:00 21-Apr-2023-00:00
Gary Gilliland No 17 April 2023-07:37AM AA367 21-Apr-2023-17:04 AA2514
Gary Kindorf No 16-Apr-2023-19:39 AA1309 21-Apr-2023-15:03 AA1329
Jean Countryman No 16-Apr-2023-19:39 AA1309 21-Apr-2023-15:03 AA1329
Jerry Kelley No 20-Apr-2023-00:00 21-Apr-2023-00:00
Johan O. Nielsen Yes 15-Apr-2023-21:29 AY4207 Thorkil 22-Apr-2023-19:30 AA6999 Thorkil
John Kimball No 16-Apr-2023-09:16 AA1287 22-Apr-2023-06:07 AA1112
Kelly Leonard Yes 16-Apr-2023-19:39 AA1309 Chris, Gary, Jean 21-Apr-2023-15:03 AA1329 Chuck, Gary, Jean, Ryan
Laurent Meilleur TBD 19-Apr-2023-00:00 21-Apr-2023-00:00
Mark Sygrove Uber 15-Apr-2023-23:10 AA2633 21-Apr-2023-23:42 JB136 Uber
Matt Verreaux Yes 16-Apr-2023-08:14 DL1445 John 21-Apr-2023-16:22 UA2028 Chris, Gary G
Rusty DeShazo TBD 19-Apr-2023-00:00 21-Apr-2023-00:00
Ryan Roffelsen Uber 16-Apr-2023-16:45 WN3153 21-Apr-2023-15:05 WN2894
Thorkil& Jane Rassmussen No 15-Apr-2023-21:29 AY4207 22-Apr-2023-19:30 AA6999
  • Lisa is staying with a friend

What Happened Last

See GeekFest_2019.

Agenda

Main Conference Room Meeting Info

https://meet.google.com/ecd-xeqb-osp
Dial-in: (US) +1 786-886-2516
PIN: 251 126 001#

Board Room Meeting Info

meet.google.com/wea-mbyb-wjp
Dial-in: (US) +1 234-759-0386
PIN: 359 792 059#

Daily Hiking

5:00am Morning hike – for those who can't sleep.
6:00am Morning hike

Monday, 17 April 2023
Time Attendees Topic Location Lead
09:00 - 09:20 Eng Welcome and Agenda Overview Main Conference Room Richard
09:20 - 09:30 DPAA-PRL Team Objective of DPAA-PRL Power Session Main Conference Room Kelly
09:30 - 10:30 DPAA-PRL Team DPAA / DPAA-PRL overview; Unique features/considerations of PRL Main Conference Room Matt/Aaron
10:30 - 14:00 BSP Team Breakout - BSP_dev-kit#Proposal_for_general_direction Board Room Aaron
10:45 - 12:00 DPAA-PRL Team DPAA-PRL test strategy Main Conference Room Ron/Andre
13:00 - 14:45 Review Team Breakout - Reqs and Code status Board Room Matt
13:00 - 14:45 Test Team Breakout - Deep dive on dpaa-prl testing Main Conference Room Ron/Andre
15:00 - 16:00 Eng Committed work by baseline Main Conference Room Kelly
16:00 - 17:00 Eng Customer recap, upcoming POs & Roadmap Main Conference Room Bill
  • DPAA-PRL Team = Review Team + Test Team
    • Review Team = Chris, Gibbs, John, Ryan; possibly Chuck and Gary
    • Test Team = Andre, Ron, MJ, Jerry, Daniel, Hernaldo, Oscar
Tuesday, 18 April 2023
Time Attendees Topic Location Lead
09:00 - 10:00 Eng Component Ownership & Staffing Main Conference Room Richard
10:00 - 12:00 Eng OA integration/Testing: BSPs + Drivers Main Conference Room Nate/Lisa
13:00 - 13:45 Eng Kernel Overview Main Conference Room Ryan
13:45 - 14:30 Eng DVMS Overview Main Conference Room Chris/Bill
15:15 - 15:45 Eng FAE wisdom, RTEMS, etc. Main Conference Room Gary G
15:45 - 16:45 DVMS Team Breakout - DVMS design, eg multi-partition Board Room Chris/Aaron
17:00 - 20:00 Eng Proposal: DDCI Farm Tour + Chinos Main Conference Room Jerry?
  • DVMS team = Chris, Matt
Wednesday, 19 April 2023
Time Attendees Topic Location Lead
09:00 - 09:05 Eng Lightning talk - Python install Main Conference Room Aaron
09:05 - 09:40 Eng Testing with Tofu Main Conference Room Ron
09:40 - 09:55 Eng Device Driver test ideas Main Conference Room Mark F.
09:55 - 10:30 Eng Test infrastructure & discussion Main Conference Room Richard
10:30 - 12:00 Eng BSP_Support_PhysicalAlloc Main Conference Room Aaron
13:00 - 13:05 Eng Lightning talk - Rust Main Conference Room Aaron
13:05 - 13:40 Eng New C++ versions Main Conference Room Johan
13:40 - 14:30 Eng vfile Overview (Europa updates?) Main Conference Room Aaron/Chris
14:30 - 15:30 Eng MFS end to end storyboard Main Conference Room Bill
15:30 - 16:30 Eng Docker, WSLg future Main Conference Room Aaron/Mike
16:45 - 18:00 Eng After-hours beers + cheers Main Conference Room Kelly


Thursday, 20 April 2023
Time Attendees Topic Location Lead
09:00 - 10:00 Eng Process Improvements; DAL-D Verification Main Conference Room Jean
10:00 - 10:30 Eng OpenArbor/Maintainer infrastructure Main Conference Room Richard?
10:45 - 11:30 Eng Demo OpenArbor for Maintainers Main Conference Room Bill
11:30 - 12:00 Eng Development Process, CS technologies Main Conference Room Aaron
13:00 - 14:30 TCE Breakout - Kernel Interrupt Options + 653 Board Room Ryan/Aaron
13:00 - 13:30 Eng vfile interface for dprintf (PCI-scanner) Main Conference Room Team
13:30 - 14:00 Eng CVTs and Config Tools status Main Conference Room Gary/Chuck
14:00 - 14:30 Eng Network Drivers common functionality Main Conference Room Bill
14:30 - 15:00 Eng Secure Boot Overview Main Conference Room Aaron
15:15 - 16:30 All Hands CEO, Marketing, Sales State of the Union Main Conference Room Bob
17:30 - 22:30 All Hands Company Event Near hotel Jennifer/Bob
  • Time Critical Environment (TCE) - Ryan, Aaron, Richard, Gibbs, Mike, Bill, ?
Friday, 21 April 2023
Time Type Topic Location Lead
09:00 - 12:00 Customers+All Hands Customer Day - Roadmap + Open Discussion Main Conference Room Greg coordinating
13:00 - 15:00 Customer+Sales+Mgmt+Architect 1-1 discussions Board Room

Suggested Format

Should have a mix of:

  1. component/team specific, cross team, and whole system
  2. new features/technologies, changes to existing, finding things to leave behind
  3. Learning, teaching, listening, presenting.
  4. Thinking, doing (e.g., install docker/wsl)
  5. Any site visit opportunities? E.g., farm tours.
  6. Presentations: short (12 minute), medium (24 minute), long, vs work sessions

Potential Topics

  1. Stuff brought forward from GeekFest 2021:
    1. Add support for persistent data (Support case MHON-BT9HU4)
    2. Change default clock rate from 12.5 mSec to 10 mSec. See Deos_Scheduling_Rates_project.
    3. Bill's Overly Awesome (OA) training and demonstration session. See how the customers use it, and how DDCI engineers can revel in the same level of awesomeness.

Whole Team

  1. Deos Roadmap - Bill (2hrs for this block)
  2. Current commitments, customers with future quotes, staffing - Kelly
  3. Europa and Kismet baseline kickoff (BC/KL clarify what is in what baselines, and beyond)
  4. DAL-D verification (trickyfish verf is D, but eventual A, make everyone clear on plans (do D per A standards for items that are part of D)

dpaa-prl Power Session

  1. ToDo Matt: pull kernel mode APIs into separate file to make reviews easier

Lightning talks

  1. Rust
  2. llvm - not needed for group discussion
  3. Python install technology and supporting license checking.

Short talks

  1. The development process (5-30min, AL)
    1. The role of private vs public communication, mailing lists, wiki, PCRs, etc.
    2. The importance of the capture of design rationale.
    3. Interfaces vs implementation and the principles involved.
    4. Don't reinvent the wheel
    5. CVTs
      1. Component owner/team is responsible for updating the CVT
      2. when practical, keep the CVT in sync with the config tool
      3. Add CVT release to schedules
      4. ToDo Kelly: Schedule a brown bag on CVT development


Cross Component

Testing

  1. Tofu training.
  2. Tests use HTML for test case documents. (Test team discussion topics. Branch to other topics.) Should they use:
    1. HTML?
    2. DeosBook?
    3. XHTML?
    4. Doxygen?
      1. Could get auto generation of TOC and tracetag xrefs using XSLT
  3. Tests use many local stylesheets, would it be better to have some common semantic based styles? Anything else to make test case document generation easier/faster?
  4. Tests are structured via can/all-can files, docs/all-test-case-docs, etc. Should they instead be more modular? test001/{can,docs,code,...}.
    1. This would make things like dev-kit testing easier/modular
    2. BSP_Support_PhysicalAlloc - presentation and working session (bsp/driver + xml tooling + OA/others part time for discussion)
  5. Local is only for running, not building tests
  6. OpenArbor integration testing ]
    1. Examples that do not build out of the box need to specify dependencies (key player breakout session - potentially on Mon separate from PRL group)
      1. Currently manually remove examples so the build all examples test works
    2. Automate analyzing results of OA test runs
    3. Nightly/weekly build/tests?
    4. Provide a docker image containing OA test infrastructure so developers can easily test examples, etc. (Mike offered to help here)

Development Process

  1. WSLg, Docker, Cygwin plans for the future. (Aaron - all options and what filtered for future set. Mike - wsl dog/pony show) Afternoon flow into dinner.
  2. Enhanced tracing capabilities:
    1. Provide a way to find all requirement xml files trace to by a code or test case file(s) This is to make is easier to create review packets.
    2. Provide a way to find all code and test case files traced to a given requirement xml file. This is to make it easier to notify people with code/test case files in review when a xml file is modified.
  3. Move (Cygwin) package information into configure.ac - Not required for GeekFest
    1. markdown readme annoying
    2. source vs binary distribution (depending on maintainer-tools sub-optimial since tools brings in compilers for all architectures)
    3. version management/component dependency resolution, and auto-generate release notes dependencies.
    4. What to do if/when we add a new packaging system, e.g., RPM and/or aarch64 host?
  4. What would it take to get more maintainer use of OpenArbor? (BC demo of what uses, trains, etc. Lead into other features like tracing above) 30min
    1. Indexing of trace tags?
    2. Portable personal configuration?
    3. Multiple architectures in a project
    4. Integrated plugins/tools readily available, e.g., subversion, workspace mechanic, etc?
    5. There might already be a wiki/pcr list on this somewhere. Deos_Maintainer_Build_In_OpenArbor
    6. Team preferences, work out of box with preferences, etc
    7. features do not work in dev-kit builds (indexing)
    8. how can we not do work, and reuse existing code. can we get more out of Eclipse/CDT?
    9. config components. Recapture copy for edit changes.
    10. Debugger performance. External debug list of files. Debug test from regress scripts.
  5. Install/build integration (GeekFest? Enumerate vs solve session - 30min)
    1. New components like vfile have a "pluggable" infrastructure where different components provides library modules that fit within vfile. Having documentation and integration of the modules in a manner that the customers can understand and that doesn't introduce low DAL libs into a process by accident would be nice.
  6. new C/C++ language standards - Should any new features (e.g. auto, lambda functions, etc.) be precluded/restricted? Code Checklist updates??
    1. Johan or Ryan new feature presentation.
    2. Kernel now expects 2011

Verification Process

  1. Modify the review process to allow multiple authors to review the same set of changes to a file as a means of satisfying review independents "requirements".
    1. multiple packets due to authorship
    2. one reviewer for particular content, one reviewer for multi-core, etc
  2. Replace Word for planning and report documents (SAS, SCI, and SLCECI); automate filling in fields (eg, versions) - Present plan, brainstorm ideas to fix before next cycle. (Jean?)
  3. Process Improvements: clean up howtos; process for creating Limitations during verf is incomplete; better search technology (e.g., google search of email, wikis, howtos, etc)

Component Specific

Kernel

  1. Kernel_64 - Ryan (Presentation 1hr (early to solicit ideas, late to report on results of the week - lots of breakout work TBD later)
    1. Vfile is lacking an access control mechanism, really need the kernel to provide UGO or similar.
    2. consistent 653 runtime, RTEMS runtime, and RMA scheduling primitives.
    3. any user mode library (not just vfile) accessing resource
    4. system scope semaphore
  2. Add shutdown hook capability (any DMA/bus activity should be terminated on mode change)

Customer Day

  1. UGO not backward compatible, eliminate grant. should be design time known
  2. wsl is it viable option (IT policies)
  3. docker (ubuntu as basis). Would customer require RedHat? Customer do podman themselves.
  4. Keep all GeekFest discussions in mind for customer day info gathering. does the user do this, would this impact users, etc.
  5. Eclipse as the IDE? VSCode, others?

vfile

  1. Need high level overview of features (AL)
    1. ease of use to transition where results go (file, memory resource)
  2. Byte stream devices vs gpio
  3. example is lesson currently

DVMS

  1. DVMS design (breakout for a subteam)
    1. Add shutdown hook to kernel for journal flush and/or volume unmounting
    2. BSP_Support_PhysicalAlloc
    3. Vfile is lacking an access control mechanism, really need the kernel to provide UGO or similar. However it's unclear whether a kernel-provided mechanism is appropriate for filesystems in user space.
    4. Unsure how to meet these Trickyfish reqs RE concurrency. Currently DVMS semaphore protects at the volume, partition, and media level, which means no concurrency possible, similar to CFFS:
      1. The file system shall provide the capability for concurrent file read and write accesses and Logbook System operations assigned to a single NVM-SSD volume.
      2. The file system shall provide user partition software with NVM-SSD concurrent File System and raw volume access, where both accesses support concurrent read and write operations.
    5. Need to dissuade customers from specifying "address 0" - requires boot knowledge of GPT/MBR which could be given to it via config.

BSPs and Drivers

dpaa-prl verf strategy - to get verf done in record time

Seems like there should be something to talk about.

  1. Replace "cloning" BSP with new process/feature with OA support

Networking, LwIP, and sockets (follow on to geekfest)

  1. Revise the stack-to-driver interface for better change isolation.
  2. Which suggested features shoud be prioritized? ipv6, pppoe, pppos, small footprint

Uncategorized

  1. Update cygwin. Include PCR:12819
  2. Add support for core dumps.
  3. Design backwards compatibility into OA for Deos tools
    1. What is the interface between OA and command line tools and components. E.g., should tools/components provide .mk files?
  4. MFS end-to-end storyboard.
    1. Integration level is not clear. Components provide very specific info. Not a big picture.
    2. pattern repeated elsewhere
  5. OpenArbor duplication of DESK and maintainer infrastructure
    1. ctxtime clear
    2. Build infrastructure
    3. cd.xml
  6. Delivering workspaces as examples vs full-blown example
    1. Reduce overhead (documentation, release process)
    2. Used for OA testing?
    3. Have an "export project as example"?
  7. RTEMS productization
  8. A chat about all the CS technologies needed to develop Deos software: relocatable vs fixed addressing, shared vs static linking, virtual vs physical addresses, caching (all types), cache partitioning, memory consistency, C language peculiarities, compiler optimization, user vs kernel space, cache block vs coherency granule vs IO ordering region(?), big O notation, etc.
    1. Q&A session in case anything is left out.

Deferred topics

  1. Maintainer and OA build infrastructure integration.
    1. Perl for ABC, MLD, etc.
  2. MAC address relocation - where can it live that it can be standard location for all BSPs but unique for each board? - non geekfest
  3. Eliminate the subversion DDCI repository. - not geekfest or 10 min encapsulate these
  4. Non-vfile interface device drivers for single-core, single-thread applications (to improve performance)
  5. Stack usage integration through deep vfile tree (i.e. nor-spi mal, user->vfile->dvms->mal->vfile->driver)
    1. Note double vfile path, and integration only allowing specifying number of pages instead of bytes.