GeekFest 2016
Description
GeekFest, our cross product line roadmapping exercise, will be held in Phoenix at DDC-I World Headquarters Dec 13 - 16. The goals are to:
- Derive a strategy, or roadmap for the set of projects, products, and programs we will be working into the future
- Cross product line coordination
- Product line breakout sessions
- Process improvement discussions
Agenda
| Time | Type | Topic | Location | Lead |
|---|---|---|---|---|
| 10:00 - 11:30 | All Hands | Business: State of the DDC-I Union | Main Conference Room | Bob Morris |
| 13:00 - 14:30 | All Hands | #IDE: Now and the Future | Main Conference Room | Lisa Jett |
| 14:30 - 16:00 | All Hands | #Training: lessons learned | Main Conference Room | Aaron Larson |
| Time | Type | Topic | Location | Lead |
|---|---|---|---|---|
| 09:00 - 11:00 | All Hands | #Kernel: Overview of new features | Main Conference Room | Aaron Larson |
| 11:00 - 12:00 | All Hands | #BSP: Deos Maintainer's Dev Kit | Main Conference Room | Bill Cronk |
| 13:00 - 14:30 | All Hands | #Process: Now and the Future | Main Conference Room | Johan/Bill |
| 14:30 - 15:00 | All Hands | #BSP: Deos Maintainer's Dev Kit | Main Conference Room | Bill Cronk |
| 15:00 - 16:00 | All Hands | #Howto become an OpenArbor Maintainer | Main Conference Room | Lisa Jett |
| Time | Type | Topic | Location | Lead |
|---|---|---|---|---|
| 09:00 - 10:30 | All Hands | #BSP: User Development | Main Conference Room | Bill Cronk |
| 10:30 - 12:00 | All Hands | #Posix file interface | Main Conference Room | Aaron Larson |
| 13:00 - 14:30 | All Hands | #IDE: Leveraging Eclipse | Main Conference Room | Lisa Jett |
| 14:30 - 16:00 | All Hands | #Component: DNT Feature Provider Files | Main Conference Room | Gary Kindorf |
| 17:00 - ??:?? | All Hands | Dinner | O.H.S.O. | N/A |
| Time | Type | Topic | Location | Lead |
|---|---|---|---|---|
| 09:00 - 11:00 | All Hands | #Business: 2017 Overview | Main Conference Room | Bill Cronk |
| 11:00 - 12:00 | All Hands | #Marketing Wish List | Main Conference Room | Greg Rose |
| 13:30 - 14:00 | All Hands | #IDE: Installation/delivery | Main Conference Room | Lisa Jett |
| 14:00 - 14:30 | All Hands | #IDE Multi-platform | Main Conference Room | Lisa Jett |
| 14:30 - 15:00 | All Hands | #IDE: Deos Shell | Main Conference Room | Bill Cronk |
| 15:00 - 15:30 | All Hands | #Component: DNT Config/CVT Tools | Main Conference Room | Gary Kindorf |
Topics
For a historical perspective, see the 2014 topic list.
Kernel
Kernel: Overview of new features
- 64-bit API evolution, now or later?
- The device model, or why there isn't one.
Kernel features
- Memory Pools (Cache partitioning)
- multiple ranges within a pool (non-power of two multiple sizes between L2 and L3)
- registry constrains pool 0
- User/Group based access controls, only partially implemented.
- capabilities: bitServices, file system access, system attribute changes
- new interface for attributeChangesPermitted()
- New PPIs: mapViewOfKernelFilePPI(), setSlackState(), performance monitors
- Some are optional
- Most (newly added) "register" functions removed
- Removed PPIs: raiseSystemTick(), disableInterrupts(), enableInterrupts(), registerWindowTimerTimeRemaining(), registerWindowTimerWrite(), and registerSetInterruptPriority().
- Multi-core:
- Windows
- may-start-early, may-finish-early, interrupt-window,
- New "wait type"
- new exception: startOfWindowEx
- Schedulers
- Changes in exception behavior (not settled yet).
- Core specific logs
- Cache alignment
- Locks, not disabling interrupts
- More precise exception terminology. Queued exceptions
- BIT is essentially useless in multi-core.
- InterruptAcknowledge PPI protocol
- Envelopes are now copied, not "swapped"
- No more PAL idle function.
- Windows
- New Lessons:
- If the problem is too hard, give up, declare victory, and move on.
- Its hard to do inter-core communication and have no inter-core interference.
- If you wait long enough, all your problems are solved.
- Exception raising
- Thread resource waits
- Deallocating RAM pages, although UFT may mitigate this
- inter-core thread creation
- Cache line issues are now a major concern.
- Thinking about fences is harder than you think.
- recipient does the work, others just queue stuff
- lockless algorithms/queues
- Atomicity always costs something
- If the problem is too hard, give up, declare victory, and move on.
Maybe future
- 64-bit interface type changes
- Non-coherent inter-core memory
- Snooping is expensive
- SYNC causes more interference than anticipated
- user stack not constrained to kernel defined range (RTEMS SMP)
- Masking of raised exceptions
Discussion Notes
- remove password from command line tools
- Marketing needs to look into the ramifications of the Rockwell Collins patent Performance Monitors on Deos customers.
- Gary G: add marketing slide presentations to subversion (svn), but for now add to \\nx3000\Deos
BSP
BSP: Deos Maintainer's Dev Kit
Topics Covered
- How to deploy dev kit
- How is the verf vs reference split coming along?
- Duplicated addresses in boot, pal, config/{.hyp,.pi}
- Multi-core support status
- Is the interface solid yet?
- capability details: maxCoreIndex vs num-cores, startup code sequence, core selection logic, etc.
Discussion Notes
- Need a way to identify/capture “reference” board only features. Come up with a convention to differentiate reference vs verf, e.g., compiler switch.
- There also needs to be a way to support transitioning a reference feature to a verifiable feature, outside of using trace tags.
- Standardize on (and document) template variable names and expressions
- T10xx board should be converted to multicore
BSP: User Development
Topics Covered
- Building within OA
- Why are our make infrastructures so different: build-utils, test-utils, OA.
- Should we be more like CDT? Does that question even make sense (makefilewise)?
- Debugging support status
Discussion Notes
- Too much source code:
- Training
- Porting Kit
- Boot, PAL, config - remove network driver
- Src distro
- How to install?
- Business:
- How much in a BSP beyond basics?
- Partner with Lauterbach or replace?
Posix file interface
- overview and future direction (AL)
- Ref [1]
- Differences between file, FILE, and streams
- or scanf vs fscanf, why are they different?
IDE
IDE: Now and the Future
Topics Covered
- Current state of the art
- Plans and status: (see OpenArbor_RoadMap)
- What updates are needed to improve the multi-core experience.
- How to deploy intermediate customer packages, e.g., board supplier provided drivers etc. (AL)
- Is DESKHOME a destination, or a path?
- AKA, was "Window/Preferences/DDCI/Deos Search Path" the answer, or should it be removed?
- Is DESKHOME a destination, or a path?
Discussion Notes
- cd.xml managed between OA and command line tools;
- External makefile: using OA for BSP builds (demo for customers), as the current method is prone to problems (ie, BSP build utils produces a list of files that must be copied to the load list, then make files must be manually hacked). Aaron demonstrated usage of component build within OA using procedure subsequently documented at Deos_Maintainer_Build_In_OpenArbor.
- Add “export” capability of workspace to OA build: output of build is a component tree which would contribute to the DESK tree. This “exportable” entity could be used by another user, and may or may not include source code (customizable).
- debugger more “cdt”
- Hyperstart build/load feature: customizable “post” cmd
Howto become an OpenArbor Maintainer
IDE: Leveraging Eclipse
Topics Covered
- Can we incorporate more CDT?
- What features would it take to be able to development/maintain/debug Deos components in the IDE? Rational: If we used it more we would make it better. Also, it would gives a better understanding of its features.
- Ability to build multiple variants of the same binary at the same time.
- emacs support (I am guessing there is already an eclipse plugin for this).
- cm hooks (I know there is already an eclipse plugin for this).
- Better custom make file support?
- Ability to build documents with the component.
- Ability for configuration settings to span workspaces.
- External makefile project in CDT, would this be enough to build/debug components in Eclipse, even if not all the way to OA?
- What else?*** I (RLR) used the OA debugger to debug a user app the other day (perhaps for the first time) and I was repeatedly frustrated with using breakpoints (especially compared to using the CDT to debugger). Here are the issues I had:
- To place a breakpoint you have to right click in the gutter and select "Toggle DDC-I Breakpoint", in CDT you can just double click in the gutter to toggle the breakpoint.
- The breakpoint is placed on the line that is currently selected, not the line you right click on.
- The strings "Toggle DDC-I Breakpoint" and "Toggle DDC-I Watchpoint" appear in the menu, because of how similar (start and end with the same characters and the same length) you have to read the full string every time to ensure you are selecting the correct one.
Discussion Notes
- Plug-ins
- emacs, hex/binary editor,PyDev, subversive (or subclipse)
- CDT —> GDB (2 issues documented on a wiki page)
- OA —> MLD - what are the costs/effort associated with
- External makefile
- multiple variants
- build docs
IDE: Installation/delivery
Topics Covered
- Upgrade the Wise installer?
- Deliver a VM rather than cygwin?
- utilize windows Linux support directly?
Discussion Notes
- Digital signing of drivers - use existing GoDaddy feature? (Stephen)
- Space in installation root
- Make sure cygcheck works (Stephen)
IDE Multi-platform
Discussion Notes
- Flexnet licensing on Linux is an issue
- Advantages: using virtual appliances
Deos shell
- Do we need one?
Process: Now and the Future
Topics Covered
- Johan's verification tool evaluation
- Process changes, results and ideas.
- Keyword based testing (BC)
Discussion Notes
- Use static analysis tool on test procedures
Training: lessons learned
Discussion Notes
- Update Training material within the distribution (requires a release). Also make sure all of the Training material is in the distribution: process developer, IOI, sockets, platform integrator. Need to update “input-output-infrastructure.ppt within DDCI/products/training/deos-training/branches/mainline/docs.
- Continue to improve the training material: add “trainer” notes and admin stuff (eg, suggested class schedule).
- Suggestion: tailor the training material based on the audience. Need to create a questionnaire, to be completed by the customer 2 weeks before class.
- Out-of-date registry content on examples: provide a checkbox in OA when importing examples to update to the latest. This checkbox would apply to all imports, not just examples. Request for new feature documented in PCR:3275.
- Include basic training on Eclipse features? Required if using an Eclipse feature (not a DEOS feature). Editor, source code browser, debug framework?
- How to include kernel mainline vs multicore in training?
- Need for CFFS training?
Component: DNT Feature Provider Files
Discussion Notes
- Clean up the lwip component
- “Name Space” feature - Aaron to noodle on the topic
Business
- Some sort of marketing/competitive analysis.
- High level overview of who's doing what and what projects are coming.
- Navel gazing
- Improvement Ideas: Tools we develop that have alternatives: ABC/LDRA? MLD/GCC?
Marketing Wish List
Topics Covered
- Have them present wish list
- Present our list of topic areas
Discussion Notes
- Gary G. will research/facilitate meeting between DDC-I engineering and [Mocana or IAI or Julian at Carnegie Mellon] to discuss addition of security layer into DEOS
For those coming from out of town
In typical fashion we would like to conserve on travel expenses where reasonable. One way to do this is to stay at the same hotel (Best Western) and share rental cars whenever possible.
Be sure to identify yourself as an employee of DDC-I when you make your reservation and ask for the DDC-I corporate rate. That should be all you need to do. However, if they ask for it, our account number used to be: PHM-C1307.
Rideshare
First "Riders" column implies from airport to Office/Hotel (Best Western), second "Riders" column is to the airport.
Please plan to arrive Monday 12/12 by 4pm. Meeting will let out Friday Dec 16 by 4pm.
Consider using Uber to get into the office and connect with a co-worker who has rented a car.
| Person | Rental | Arrival | Riders | Departure | Riders | Willing to stay at house |
|---|---|---|---|---|---|---|
| Aaron Larson | (RR) | 12-12-10:09 | N/A | 12-16-19:50 | (RR) | Yes |
| Bill Cronk | Yes | 12-12-11:25 | N/A | 12-18-20:25 | Yes | N/A |
| Gary Gilliland | RR | 12-12-10:45 | (BC) | 12-16-17:45 | (BC) | Yes |
| Gary Kindorf | (BC) | 12-12-11:25 | N/A | 12-16-18:10 | (BC) | Yes |
| Johan O. Nielsen | Yes | 12-10-18:20 | TBR | 12-17-20:40 | TBR | Yes |
| Kelly Leonard | (BC) | 12-12-11:25 | N/A | 12-16-18:10 | (BC) | Yes |
| Mike Horgan | (BC) | 12-12-16:55 | N/A | 12-13-16:40 | N/A | 1 Night |
| Ryan Roffelsen | Yes | 12-12-10:40 | AL,GG | 12-17-18:00 | N/A | Yes |
| Thorkil Rasmussen | (JON) | 12-11-18:20 | (JON) | 12-16-20:40 | (JON) | Yes |
Entertainment
Piestewa
6:15 am meet in the hotel parking lot. All are welcome for a hike up Piestewa Peak. Bring water and a good pair of shoes.
Camelback Cholla Trail
6:15 am meet in the kitchen. All are welcome for a hike up Camelback Mountain via the Cholla Trail. Bring water and a good pair of shoes.