├── README.md ├── bhyve ├── 20180906.md ├── 20180927.md ├── 20181011.md ├── 20181025.md ├── 20181108.md ├── 20181129.md ├── 20181213.md ├── 20190110.md ├── 20190124.md ├── 20190207.md ├── 20190221.md ├── 20190307.md ├── 20190314.md ├── 20190328.md ├── 20190411.md ├── 20190425.md ├── 20190509.md ├── 20190523.md ├── 20190606.md ├── 20190620.md ├── 20190711.md └── 20190718.md ├── capsicum ├── 20190405.md ├── 20190503.md ├── 20190531.md ├── 20190628.md ├── 20190726.md ├── 20190809.md ├── 20190913.md ├── 20200110.md └── 20200207.md ├── git-wg ├── 20191217.md ├── 20200331.md ├── 20200407.md ├── 20200414.md ├── 20200421.md ├── 20200512.md ├── 20200526.md ├── 20200602.md ├── 20200609.md ├── 20200616.md ├── 20201117.md ├── 20201124.md ├── 20201201.md ├── 20201208.md ├── 20201215.md └── 20201222.md ├── graphics ├── 20181003.md ├── 20181017.md ├── 20181107.md ├── 20181121.md ├── 20181205.md ├── 20181219.md ├── 20190102.md ├── 20190116.md ├── 20190130.md ├── 20190213.md ├── 20190227.md ├── 20190313.md ├── 20190327.md ├── 20190424.md ├── 20190508.md ├── 20190522.md ├── 20190612.md ├── 20190626.md ├── 20190703.md ├── 20190717.md ├── 20190731.md ├── 20190814.md ├── 20190911.md ├── 20190925.md ├── 20191009.md ├── 20210712.md ├── 20210726.md ├── 20210809.md ├── 20210823.md ├── 20210906.md ├── 20210920.md ├── 20211003.md ├── 20211018.md ├── 20211108.md ├── 20211122.md ├── 20211206.md ├── 20220117.md ├── 20220214.md ├── 20220228.md ├── 20220314.md ├── 20220328.md ├── 20220411.md ├── 20220425.md ├── 20220509.md ├── 20220523.md ├── 20220606.md ├── 20220620.md ├── 20220704.md ├── 20220718.md ├── 20220801.md ├── 20220815.md ├── 20220829.md ├── 20220912.md ├── 20220926.md ├── 20221010.md ├── 20221024.md ├── 20221107.md ├── 20221121.md ├── 20221205.md ├── 20230109.md └── readme.md ├── iflib ├── 20190313.md ├── 20190327.md ├── 20190410.md ├── 20190424.md ├── 20190522.md ├── 20190605.md ├── 20190731.md ├── 20190814.md ├── 20190911.md ├── 20191023.md └── 20191106.md ├── jail └── 20230308.md ├── mitigations ├── 20190405.md ├── 20190503.md ├── 20190531.md ├── 20190628.md ├── 20190726.md ├── 20190927.md └── 20200821.md ├── portmgr └── README.md ├── srcmgr ├── 20241004.md ├── 20241019.md ├── 20241101.md ├── 20241115.md ├── 20241129.md ├── 20241213.md ├── 20250110.md ├── 20250124.md ├── 20250207.md ├── 20250221.md ├── 20250404.md ├── 20250418.md └── README.md ├── supervision ├── 2023-03-23.md ├── README.md └── schedule.md └── workflow ├── 20211020.md ├── 20211027.md ├── 20211104.md ├── agenda.md └── index.md /README.md: -------------------------------------------------------------------------------- 1 | # Meetings 2 | Notes from meetings of various FreeBSD-related groups. 3 | 4 | Several working groups in the FreeBSD project hold periodic meetings via 5 | conference calls, video conferences, or other means. This repository 6 | aims to provide a central location for the notes. 7 | 8 | Notes are formatted in Markdown. Filenames should use a 9 | *YYYYMMDD* prefix. 10 | 11 | Directory | Description 12 | --- | --- 13 | [bhyve](https://github.com/freebsd/meetings/tree/master/bhyve) | The bhyve hypervisor 14 | [capsicum](https://github.com/freebsd/meetings/tree/master/capsicum) | Capsicum framework development and application of Capsicum 15 | [git-wg](https://github.com/freebsd/meetings/tree/master/git-wg) | Subversion to Git Migration 16 | [graphics](https://github.com/freebsd/meetings/tree/master/graphics) | The graphics stack 17 | [iflib](https://github.com/freebsd/meetings/tree/master/iflib) | The iflib driver framework 18 | [jail](jail) | FreeBSD Jails 19 | [mitigations](https://github.com/freebsd/meetings/tree/master/mitigations) | OS-based vulnerability mitigations 20 | [workflow](https://github.com/freebsd/meetings/tree/master/workflow) | Contributor experience improvement 21 | [supervision](https://github.com/freebsd/meetings/tree/master/supervision) | init, rc, service, daemon and other process management topics 22 | [srcmgr](https://github.com/freebsd/meetings/tree/master/srcmgr) | src tree management 23 | 24 | Notes elsewhere include: 25 | 26 | * FreeBSD workflow working group https://gitlab.com/bsdimp/freebsd-workflow 27 | -------------------------------------------------------------------------------- /bhyve/20181108.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Alexandru Elisei 4 | - Michael Dexter 5 | - Rod Grimes 6 | - Patrick Mooney 7 | - Sergiu Weisz 8 | - Ben Widawsky 9 | - John Baldwin 10 | 11 | # Agenda Topics 12 | 13 | - MI vs MD changes 14 | - config 15 | 16 | # Notes 17 | 18 | **Alexandru Elisei:** Reworking the MI vs MD changes to not mix style 19 | changes with content changes. 20 | 21 | One major change: modified struct vmctx because it has x86-specific 22 | highmem and lowmem. I added a `struct vmmem` that is MD to describe 23 | memory layout and then added an instance of that field to `struct 24 | vmctx`. 25 | 26 | **Rod Grimes:** Concerned that just pulling out memory structure might 27 | not be enough. 28 | 29 | **John Baldwin:** I think the goal should be to have the user 30 | structures be opaque handles in which case we can change the internal 31 | implementation freely without API or ABI concerns. 32 | 33 | **Alexandru:** The only members are fd, name, and this new mem 34 | structure. 35 | 36 | **Alexandru:** About the timer functions, about the APIC currently I 37 | decided to make them MI since arm has similar timers. 38 | 39 | In the future we might add a type of virtual PIC abstraction to hide 40 | APIC vs GIC to keep the vmmapi API shared and MI. 41 | 42 | **John:** I think the interface to userland (device models) that PICs 43 | need is actually pretty simple, just assert/deassert for PCI 44 | interrupts and assert for an MSI interrupt. They only need some kind 45 | of opaque handle for each interrupt, not details such as pin numbers, 46 | etc. 47 | 48 | *more discussion about merging style changes separately and splitting 49 | header files* 50 | 51 | **Alexandru:** Question about function `vcpu_reset()`. It doesn't 52 | follow the usual convention of `vm_` prefix. Also, why isn't 53 | implemented as an ioctl? 54 | 55 | **John:** Renaming this function is probably ok. The only thing to 56 | check is if grub2-bhyve uses it. If so we will need compat shims. 57 | 58 | **Patrick:** What is the ABI/API consideration for libvmmapi? 59 | 60 | **John:** From FreeBSD's perspective it is generally a private 61 | interface, except that grub2-bhyve is shipped separately in ports, so 62 | we should try to not break grub2-bhyve. 63 | 64 | **Alexandru:** Public function without prototype probably used in bhyve's 65 | inout.c. Turns out it is `vm_restart_instruction` prototyped in 66 | ``. 67 | 68 | Some functions I kept MI even though the ioctls aren't implemented yet 69 | for arm64 (such as PCI pass through). 70 | 71 | What about the capabilities API? 72 | 73 | **John:** I think the userland functions will be MI and the API will 74 | be MI, but but the list of capabilities will be an MD enum. 75 | 76 | **Patrick:** Is there a smaller interface that grub2-bhyve consumes 77 | that we want to mark as a committed interface while not exposing all 78 | of the interface. 79 | 80 | **John:** We could do this a couple of ways. Simplest is to just add 81 | annotations in the headers. 82 | 83 | **Rod:** One option would be to drop bhyveload and grub2-bhyve and 84 | just use UEFI. With an improved CSM we would probably not need 85 | grub2-bhyve anymore. 86 | 87 | **Patrick:** Issues with iPXE with the CSM interface because iPXE 88 | can't find any devices. Was using virtio-net. 89 | 90 | **Rod:** Michael was using the ne2000 emulation with iPXE and the CSM 91 | ROM. 92 | 93 | **Patrick:** I want to try to use the existing OVMF package as the ROM 94 | for EFI instead of needing a custom EFI build. We could use SeaBIOS 95 | for CSM. We could also reuse the work that the KVM folks are doing as 96 | a result. 97 | 98 | *much more discussion about UEFI / iPXE / ED2K* 99 | 100 | *some talk about migration and how dirty page tracking will work on 101 | FreeBSD vs illumos* 102 | 103 | **Alexandru:** Wanted to see if anyone else are using arichardson@'s 104 | patches to cross-build FreeBSD on Linux. 105 | 106 | **Ben Widawsky:** I'm using them, work great. Haven't run binaries 107 | though, only run. 108 | 109 | Next meeting is scheduled for the week of US Thanksgiving. We will 110 | skip that week and instead do the next meeting on November 29. We 111 | will likely also end up with a similar change in December to avoid 112 | December 27th. 113 | -------------------------------------------------------------------------------- /bhyve/20190221.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Sergiu Weisz 4 | - Patrick Mooney 5 | - Rod Grimes 6 | - Michael Dexter 7 | - Darius Mihai 8 | - Elena Mihailescu 9 | - John Baldwin 10 | 11 | # Notes 12 | 13 | **Michael Dexter:** bhyvecon Tokyo will be March 20th, a day before 14 | AsiaBSDCon, and bhyvecon Ottawa is likely to happen a full day before 15 | BSDCan. Please discuss your talk and WIP ideas with Michael. 16 | 17 | **John Baldwin:** Regarding PHK’s inquiry: There is a better way to do 18 | that in ports. Consider using conserver in ports after wiring the 19 | serial port to an instance of nmdm(4). Patrick has a way in SmartOS 20 | (feel free to add it). 21 | 22 | **Patrick Mooney:** Has been working on AMD support. Testing on a Zen 23 | system. (Note the AMD review in the list) 24 | 25 | Please watch the Reviews list for reviews that can be closed because 26 | the code is already committed or obsolete. 27 | 28 | Joyent and FreeBSD Copyrights: No compelling reason to diverge from 29 | standard project practices. Not considering a CONTRIBUTORS file at 30 | this time. A group of patches should satisfy the litmus test. Be 31 | clear in Reviews how you would like attribution. Be VERY conscious of 32 | license adjustments/corrections. 33 | 34 | **Patrick** to submit a review for the Fix broken uart on Win2016 guest 35 | code change. Rod to shepherd through to commit. 36 | 37 | **Patrick** has a posted interrupts fix coming too. Hopefully Tycho’s 38 | original concerns are addressed. Will post to reviews.freebsd.org 39 | 40 | [Bug 234134](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234134): 41 | VM Name length from 32 characters. Make a dynamic allocation? Base 42 | on `NAME_MAX`. **Rod** will create a differential to make it dynamic 43 | for further review. 44 | 45 | **Elena Mihailescu:** Provided a status report on her VM migration 46 | memory corruption issue. Will continue the discussion by email. 47 | Thank you Mark Johnston for your assistance! Rod asks to please add 48 | @virtualization to the email thread. 49 | 50 | `VM_MAXCPU`: Review priority: 51 | 52 | - [D18755](https://reviews.freebsd.org/D18755) 53 | 54 | Remove the “=0” line until needed to satisfy Coverity and not 55 | confuse reviewers. Otherwise OK to commit. 56 | 57 | - [D18815](https://reviews.freebsd.org/D18815) 58 | 59 | Approaching but not crossing 1MB ACPI table limit. 60 | 61 | - [D18816](https://reviews.freebsd.org/D18816) 62 | 63 | Per-vCPU IPI statistics. Is this something DTrace cannot solve? 64 | Rewrite the ioctl? Can't change the constant in the header as it 65 | breaks the user ABI. Stats table overflows at 24 vCPUs and loses 66 | per-IPI stats. John is willing to clean up the ioctl. A runtime 67 | check is fine for now. Will revise. 68 | 69 | - [D18846](https://reviews.freebsd.org/D18846) 70 | 71 | NOP change to make future code simpler. Long-term goal: A per-VM 72 | structure. Will proceed step by step. 73 | 74 | - [D17874](https://reviews.freebsd.org/D17874) 75 | 76 | All have approved it. All commits must be reviewed. 77 | 78 | - [D18998](https://reviews.freebsd.org/D18998) 79 | 80 | Unexpected encounter while working on maxcpus. Will limit to 254 81 | for now. Add overflow checking. SMBIOS 3.0 spec has additional 82 | fields for higher counts. Now have corecount, threadcount (8bit), 83 | corecount2, threadcount2 (16bit). Since we provide a version 2 84 | table, just cap for now. 85 | 86 | Next meeting: 2019-03-07 87 | -------------------------------------------------------------------------------- /bhyve/20190314.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Rebecca Cran 4 | - Michael Dexter 5 | - Patrick Mooney 6 | - Scott Phillips 7 | 8 | # Notes 9 | 10 | **Michael Dexter** and **Rod Grimes** attended the last Project ACRN 11 | call where they gave two WIP reports. 12 | 13 | **Scott Philips:** Portland-based, works with Ben Widawsky. 14 | Relatively new to FreeBSD Development. Eight months or so. Was a 15 | Linux developer. Looking to make the most impact for their resources. 16 | Recently: Non-volatile/Persistent memory support. Working on support 17 | for namespaces/partitioning. Following the ACPI spec. His work on 18 | Linux included: MESA 3D graphics driver, boot loaders, Android, and 19 | protected media playback. 20 | 21 | **Rebecca Cran:** Looked at get memory map. Ten years with FreeBSD. 22 | Worked on a UEFI-driver at work. Also working on persistent memory. 23 | NVDIMM-P. Working on TianoCore UEFI. Works for Western Digital (via 24 | Fusion-io and SanDisk), based in Utah. Working to include loader.efi 25 | and include in installworld to facilitate scripting. Will post a 26 | review. Looking into HTTP(S)-boot. 27 | 28 | Patrick introduced himself to Scott and Rebecca. As did Michael. 29 | 30 | Want list: 31 | 32 | **Patrick Mooney:** A more capable UEFI-CSM that would be more aware 33 | of network devices. Looking at SeaBIOS in UEFI-CSM. OVMF likely does 34 | something similar. 35 | -------------------------------------------------------------------------------- /bhyve/20190411.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Rebecca Cran 4 | - Michael Dexter 5 | - Rod Grimes 6 | - Darius Mihai 7 | - Elena Mihailescu 8 | - Patrick Mooney 9 | - Chuck Tuffli 10 | - Sergiu Weisz 11 | 12 | # Notes 13 | 14 | ## NVMe 15 | 16 | **Chuck** has posted a [Design 17 | document](https://docs.google.com/document/d/1C6yBeeZ-1MGAvbbbWV00wx_lNzEw4JS39yviW31dmbg/edit?usp=sharing) 18 | for a change to NVMe locking modifications. Not clear on how some of 19 | it works, particularly the threading model. Has a link to 20 | reviews.freebsd.org in the design document. 21 | 22 | **Chuck** had a review for a NVMe/PCI express compatibility bit 23 | change. (Link speed and channel width) **Q:** How many spec-mandated 24 | features do we want to implement? The NVMe spec also describes power 25 | management. 26 | 27 | **Patrick:** Survey the other virtualization solutions for guest 28 | expectations. 29 | 30 | ## Save and Restore 31 | 32 | **Patrick** has sent an example of the virtualized LAPIC doc. 33 | 34 | **Darius** and **Elena** have provided a sample. 35 | 36 | **Patrick** will take a look. **Q:** Follow this model for other devices: 37 | 38 | 1. Establish what to save and what not to save. 39 | 2. Decide on what sanitization to perform. 40 | 3. Once you’ve chosen a device to handle, decide what to expose. 41 | Define a central set of structures between kernel space and user 42 | space need to be handled and in turn serialized to disk etc. 43 | 44 | **Patrick:** Rather than expose kernel state to user space, define 45 | what state needs to be saved. Abstract away kernel internal state. 46 | The kernel’s time mechanism should not matter. Kernel can decide how 47 | to handle the time information it has been provided etc. 48 | Serialization or versioning can be done in userspace. A private 49 | structure would facilitate copying information out of the kernel. 50 | Prefer not write JSON from the kernel. Need a version spec if we do 51 | it in libvmmapi as this is certain to change? **Q:** Would this lead 52 | to duplication of code in kernel and userspace? Headers must be kept 53 | in sync? Shouldn’t be an issue. 54 | 55 | **Elena:** Also need to save VMX per-VCPU struture? 56 | 57 | **Patrick:** Must scrutinize VMCS (Intel) and VMCB (AMD) state fields 58 | carefully. APIC state must be preserved. Dangerous to expose VMCS 59 | state and jeopardize the host. Look at other implementations? Some 60 | VMCS information can be derived from other state information. 61 | 62 | **Darius:** Who can we verify the role of fields with? The datasheets 63 | provide some information. Intel volume 3: APIC information. Same for 64 | RTC (DS1387), PIT. Didn’t find documentation for all devices. Just 65 | ask around. 66 | 67 | ## EDK2 68 | 69 | **Rebecca:** Working to get the edk2 devel port update. 70 | 71 | **Patrick:** Concern for testing CSM. Crashes in early switching code. 72 | 73 | **Rod:** Probably need to bring forward Tycho’s previous CSM work. 74 | Stock edk2 is limited for CSM. Misses legacy BIOS components. 75 | Patrick could build SeaBIOS as a BIOS payload. PCI device enumeration 76 | worked. iPXE worked. Still work to be done. There are GPL concerns. 77 | There is value in both approaches: Native CSM and SeaBIOS. Worth 78 | looking at the prior CSM work from Tycho and Leon. Diff it with 79 | Tianocore. 80 | 81 | ## `VM_MAXCPU` 82 | 83 | **Rod:** Down to doing mallocs for structures and structures to 84 | pointers? Must check for null pointer. 85 | 86 | **Patrick** has a good sense of what needs to be done. 87 | -------------------------------------------------------------------------------- /bhyve/20190509.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Michael Dexter 4 | - Matthew Grooms 5 | - Patrick Mooney 6 | - Scott Phillips 7 | - Chuck Tuffli 8 | - Sergiu Weisz 9 | - John Baldwin 10 | 11 | # Notes 12 | 13 | ## Various Open Reviews 14 | 15 | Someone noted that there is a discussion in 16 | [D20065](https://reviews.freebsd.org/D20065) between **Mark Johnston** 17 | and **Konstantin Belousov** about how wired memory should be accounted 18 | for in bhyve and how it relates to limits on wired memory. 19 | 20 | Various folk asserted that the list of open tickets on the running 21 | agenda needs updating. 22 | 23 | **Patrick** has a ticket on barriers and locks. People are having an 24 | issue but Patrick cannot reproduce. VirtIO in userspace is not 25 | properly issuing a memory barrier. Host can skip issuing an interrupt 26 | for the guest. Under Linux, an interrupt was never received for 27 | completion. See: (D19501)[https://reviews.freebsd.org/D19501] 28 | 29 | **John** and **Rod** have added some input on the (vIOAPIC 30 | rendezvous)[https://cr.joyent.us/#/c/5720/] review. Further discussion 31 | after John’s arrival. 32 | 33 | **Chuck** has an NVMe locking change up for comment at 34 | (D19841)[https://reviews.freebsd.org/D19841]. Working on NVMe drive 35 | authenticity. “Authentic enough to make Windows happy but not 36 | difficult to maintain.” **Q:** Should it pass the NVMe test suite? 37 | The QEMU/Linux implementation did not implement the full command set. 38 | Should this be a reference design for folks like the UNH testing lab? 39 | 40 | ## FreeBSD 11.3 Release 41 | 42 | The FreeBSD wired memory changes should not impact Illumos at this 43 | time. Will have a knob to preserve old behavior to not break 11 and 44 | 12 current users if it gets merged. **John** has a list of what has 45 | not been merged to 11. AMD IOMMU might be too much to merge back. 46 | Same with VirtIO SCSI and NVMe which do not exist on 11. Focus on bug 47 | fixes rather than features. Debug server may be okay to go back, but 48 | John doesn't have a way to test it. **Rod** is working on CPU 49 | Topology. Changes to report topology via cpuid on AMD are important 50 | to MFC. 51 | -------------------------------------------------------------------------------- /bhyve/20190523.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Michael Dexter 4 | - Rod Grimes 5 | - Matthew Grooms 6 | - Scott Phillips 7 | - Darius Mihai 8 | - Elena Mihailescu 9 | - Patrick Mooney 10 | - Chuck Tuffli 11 | - Sergiu Weisz 12 | - John Baldwin 13 | 14 | # Notes 15 | 16 | **Michael:** Thank you all for participating in bhyvecon Ottawa! 17 | Strong encouragement for bhyvecon Europe. Two bhyvecon Tokyo videos 18 | are up with many more to come. 19 | 20 | **Rod:** FreeBSD 11.3 Beta 1 is coming soon. Please get changes in 21 | ASAP. (Discussion of what’s remaining, by priority. Rod, John, 22 | Patrick.) 23 | 24 | ## 9pfs 25 | 26 | **Michael:** Kirill P. would like to see the 9pfs server land in head. 27 | Pooja at Juniper has a client. Needs to be an actual patch. 28 | 29 | ## NVMe 30 | 31 | **Chuck** and **Patrick** and were able to talk in Ottawa. 32 | 33 | ## Save and Restore 34 | 35 | **Patrick** did not have overlapping days with the University team. 36 | **John** was able to talk to **Mihai**. Need a shorter path for 37 | merging changes upstream. First priority for UP is save and restore. 38 | Second after that would be live migration. The students at UPB have 39 | availability until July 1. ARM work will wait until later. It can 40 | probably be integrated by importing ARM into a separate subdirectory 41 | for userland and migrating bits to MD subdirectories iteratively in 42 | the tree. Rebases are painful with the work living outside the tree. 43 | 44 | **Darius:** Have been working on a [Device Field Analysis design 45 | doc](https://docs.google.com/spreadsheets/d/13wDSSeCs-vgtGAnKVGJtTNbAaom36w9BfnC_7hEaZ98/edit#gid=1699960346). Has 46 | been doing his best to incorporate feedback from **Patrick**. Local 47 | APIC ESR firing needs attention. Open discussion of what needs to 48 | happen. Darius will incorporate the feedback ASAP. 49 | 50 | ## EDK2 51 | 52 | **Scott:** Working on CSM. NVMe has issues with the new firmware. 53 | Will reach out to **Chuck** when he has something definitive. 54 | **Scott** is working on CURRENT. 55 | 56 | **Rod:** Will be build *firmware*-devel ports for 11-stable? 57 | Currently it may or may not show up in pkg search. They are simply 58 | binaries and can be added without issue. 59 | 60 | ## Live Migration 61 | 62 | **Elena:** Has looked at migration time. No questions for now. Have 63 | tried up to 9GB of RAM. Migration time increases linearly. 64 | Bottlenecked on the network. Hopes to test 10GbE. 65 | 66 | ## NVMe 67 | 68 | Chuck has several new reviews up. Please review. 69 | - [D19904](https://reviews.freebsd.org/D19904) bhyve: Add Integrated 70 | Endpoint to PCIe Capability 71 | - [D19905](https://reviews.freebsd.org/D19905) bhyve: Add EUI64 to 72 | NVMe device 73 | 74 | ## PCI-e and Device Models 75 | 76 | **John:** All devices should probably appear as PCI Express devices. 77 | Which revision of PCI-express do we want to choose for our device 78 | models? 79 | 80 | **Patrick:** Added more device vendors like i440FX to the hostbridge 81 | device model so you can select a model or manually select a device and 82 | vendor ID. 83 | 84 | **Chuck:** Some devices check for QEMU. 85 | 86 | **John:** We could maybe make the AMD host bridge model an option of 87 | the hostbridge model. We may need to change these models from a PCI-e 88 | root port to end point. Some OSs may expect hypertransport on AMD 89 | hostbridge. 90 | 91 | ## D20065 92 | 93 | **Rod:** [D20065](https://reviews.freebsd.org/D20065) Mark Johnston 94 | abandoned it but an alternative went in? 95 | 96 | **John:** The resulting commit did not make bhyve subject to the 97 | resource limit. Abandoned for a reason and is resolved. 98 | 99 | ## if\_bridge(4) 100 | 101 | Long-term topic: Is if_bridge(4) killing our network performance? Kirill P. is using VALE with ptnet for performance. 102 | 103 | **Rod:** Can we borrow from VALE? 104 | 105 | **John:** Not directly for the kernel. 106 | -------------------------------------------------------------------------------- /bhyve/20190606.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Mihai Carabas 4 | - Michael Dexter 5 | - Rod Grimes 6 | - Matthew Grooms 7 | - Darius Mihai 8 | - Elena Mihailescu 9 | - Patrick Mooney 10 | - Pooja Rao 11 | - Sergiu Weisz 12 | - John Baldwin 13 | 14 | # Notes 15 | 16 | ## EuroBSDCon 17 | 18 | John, Matthew, and Mihai plan to attend EuroBSDcon. Fundraising will 19 | be needed for a bhyvecon if one is held. 20 | 21 | ## 11.3 22 | 23 | Most top reviews made it in. Some AMD MSR fixes would be nice to get 24 | in. Would need a Ryzen system to test. An RFB bug will cause a 25 | panic. Bug 26 | [238333](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238333) 27 | zlib compression on VNC-related? 28 | 29 | ## AMDvi and PCI passthrough 30 | 31 | John fixed a couple of issues with PCI passthrough devices where the 32 | MSI-X table and PBA are in separate BARs. While debugging those, 33 | gallatin@ also tripped over a panic in the AMDvi code when detaching 34 | ppt(4) when ppt’s detach routine moved the device back into the 35 | “default” domain in the IOMMU. Did not end up using kgdb to chase 36 | that to the ground. Might be reproducible via ‘devctl detach ppt0’ on 37 | an AMD system. 38 | 39 | ## Netmap work 40 | 41 | Vincenzo’s netmap work. Looks like the right parties are in 42 | dialog. [D20276](https://reviews.freebsd.org/D20276) Allow guests to 43 | set a jumbo MTU when VALE is used. 44 | 45 | ## 9pfs 46 | Interested parties please reach out to Michael for a separate discussion. 47 | 48 | ## Save/Restore 49 | 50 | Darius ran into an issue. Guest memory changing during the snapshot? 51 | PRDTL table length issue? Open discussion. 52 | 53 | The issue seems to be that the length field in one of the AHCI command 54 | descriptors is overwritten by the guest, possibly by the guest 55 | thinking it got a timeout on an earlier command and issuing a reset of 56 | the controller and rewriting the command ring. This probably argues 57 | for suspending the vCPUs before trying to drain the I/O threads. 58 | 59 | Hope to commit Save and Restore as an experimental feature that is 60 | certain to change. Should have a version number to support altering 61 | the file format over time. Last rebased March 7th. Will need to be 62 | updated for MAX_VCPUs. Above all: Put it under an #ifdef. 63 | 64 | ## Misc 65 | 66 | **Patrick:** Heads-up: ESR simplification and vIOAPIC landing in 67 | SmartOS bhyve. 68 | 69 | **Q:** Who’s tested Scott’s UEFI work? 70 | 71 | **Q:** SeaBIOS port? Will build as a CSM. 72 | 73 | **Q:** Does FreeBSD have AMD Epic/Ryzen hardware in its cluster? 74 | -------------------------------------------------------------------------------- /bhyve/20190620.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Michael Dexter 4 | - Rod Grimes 5 | - Matthew Grooms 6 | - Scott Long 7 | - Darius Mihai 8 | - Patrick Mooney 9 | - Pooja Rao 10 | - Chuck Tuffli 11 | 12 | # Notes 13 | 14 | Rod and Patrick: Reviews discussion. 15 | 16 | ## Save/Restore 17 | 18 | Question: Should the save/restore be activated via project branch, 19 | #ifdef, or some other mechanism. There is no question that the design 20 | will change and design changes are required. Fear: each bhyve 21 | contributor should also build with it to guarantee that continues to 22 | build. Exported opaque kernel blocks must be broken up with a 23 | versioned profile for each generation of the configuration. Currently 24 | pushing in and out of VMCS without verification. Controls should not 25 | be saved. Are there standards or save/restore? Rod met an Intel 26 | developer at LFNW who is promised to investigate models to follow. 27 | 28 | **Q:** TSC Offsetting, what time-related behavior is desired? 29 | 30 | Other options: A User branch or project branch. Would only break when 31 | merging from HEAD. 32 | 33 | **Darius:** Development is continuing. 34 | 35 | **Q:** Does anyone at the University have a commit bit? A project 36 | branch may limit their access to their own code. 37 | 38 | The team will change focus in July, reducing their availability. 39 | 40 | Have received some input via GitHub. 41 | 42 | **Matthew:** Discussing future sponsorships of the work. 43 | 44 | **All:** Discussing Git/SVN traversal issues. 45 | 46 | **Rod:** Can experiment with a user/vendor branch at very low cost, 47 | even if only to test the import. 48 | 49 | **Rod:** will create a user branch to try this. Darius will report 50 | this to the team. 51 | 52 | ## 9pfs 53 | 54 | All userspace? Much safer than save/restore if enabled. (No 55 | userspace access to CPU registers!) Should consider committing it 56 | as-is for in-tree iteration. 57 | 58 | ## Misc 59 | 60 | **Scott Long:** Now at Intel on the FreeBSD/All BSD enablement and 61 | support. Virtualization is important to Intel. Did work with Xen. 62 | Worked on the VM system at Netflix. 63 | 64 | The next meeting falls on the 4th of July: Proposing to shift to the 65 | 11th. 66 | 67 | Reviews discussion. Michael reached out about HD Audio 68 | ([D12419](https://reviews.freebsd.org/D12419)). mav@ reports that this 69 | was stalled for Capsicum support. 70 | 71 | Save/Restore: Use a kernel config option? 72 | -------------------------------------------------------------------------------- /bhyve/20190711.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Michael Dexter 4 | - Rod Grimes 5 | - Matthew Grooms 6 | - Mark Johnston 7 | - Scott Long 8 | - Darius Mihai 9 | - Elena Mihailescu 10 | - Patrick Mooney 11 | - Sergiu Weisz 12 | - John Baldwin 13 | 14 | # Notes 15 | 16 | ## D20920 17 | 18 | **Rod** to Mark: Are we putting a 64 bit value into a 32 bit value? 19 | [D20920](https://reviews.freebsd.org/D20920) line 2118, Mark has made 20 | a comment in the review. 21 | 22 | ## Testing / CI 23 | 24 | **Michael** to Mark: Clang 8 issue: What CI could catch that? Head is 25 | compiled with 8. 26 | 27 | “Any CI system would be better than what we have today.” Mark has used 28 | vm-bhyve. 29 | 30 | **Rod:** Consider Windows scripted installs. 31 | 32 | **Patrick:** It’s slow. Windows image creation is not elegant. Very 33 | slow boots. 34 | 35 | John has a branch with config related changes. 36 | 37 | ## Bug 234134 38 | 39 | **Scott:** Bugzilla [234134](https://bugs.freebsd.org/234134): VMX 40 | namelen increase. Testing it. Increased the VM name to 238 41 | characters, and GUID length. Review up shortly. Hope to have it in 42 | time for 12.1. `SPECNAMELEN` is why it is different length in 12 and 43 | HEAD. 44 | 45 | ## Maintership 46 | 47 | **Michael:** Commits without MAINTAINER approval. Close/reopen 48 | addressed. Hadn’t been Capsicumized correctly. 49 | 50 | **Rod:** Will we stop using MAINTAINER approval? 51 | 52 | **Scott:** This team has nebulous goal posts. 53 | 54 | This problem is not limited to bhyve. 55 | 56 | **Michael:** If you have a concrete proposal, propose it. 57 | 58 | **Scott:** Having a single MAINTAINER is limiting. 59 | 60 | ## Save/Restore 61 | 62 | **Mark:** Wants to talk about page modification logging. 63 | 64 | **John:** Save and restore update: Darius has been active. John plans 65 | to build off of his branch to work out ifdefs. Man page updates. 66 | 67 | **Q:** vCPU locking. Goal: Remove the ioctls. Rebase due. VM_MAXCPUS is not in sync. FreeBSD is trying to avoid nested includes. 68 | 69 | **John:** Plan is to use a build option. `WITH_BHYVE_SNAPSHOT` 70 | src.conf and `BHYVE_SNAPSHOT` kernel config option. 71 | 72 | **Mark:** Page modification logging. You can log up to 512 page 73 | modifications and then need to drain the log after a VM exit. 74 | 75 | Elena is planning for AMD support, so didn't want to require this feature. 76 | 77 | **John:** Is this a recent Intel feature? Which CPU’s have this feature? 78 | 79 | **Mark** saw a 2015 whitepaper on it. Maybe since Haswell. Should 80 | find the feature flag. 81 | 82 | ## Configuration Changes 83 | 84 | **John** has a bhyve_config branch with changes. Uses NV lists with 85 | mibs. Can use flat name=value or a subset of the tree. Has a simple 86 | config file parser. Has indirection for %(full path of another config 87 | variable). Needs to add device support. 88 | 89 | https://github.com/bsdjhb/freebsd/tree/bhyve_config 90 | 91 | Can dump and restore the config which could assist save and 92 | restore. Can eventually parse UCL config files as well. 93 | 94 | **Patrick:** Consider %% escaping. 95 | -------------------------------------------------------------------------------- /bhyve/20190718.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Michael Dexter 4 | - Rod Grimes 5 | - Matthew Grooms 6 | - Darius Mihai 7 | - Elena Mihailescu 8 | - Patrick Mooney 9 | - Chuck Tuffli 10 | - John Baldwin 11 | 12 | # Notes 13 | 14 | ## Save/Restore 15 | 16 | Elena and Darius have been working on patch feedback that Patrick provided. 17 | 18 | **Darius:** Received Patrick’s feedback and is implementing it. Nothing 19 | pushed yet. `VM_NAME` variable question, already provided by the vm 20 | context structure. Could retrieve it from there. Some buffers in 21 | quest in guest memory. Saving pointers rather than contents: Will 22 | update the review. Open discussion. Had some AHCI save/restore 23 | issues by saving the size structure. Went out of bounds. 24 | 25 | **Patrick:** Note that size is there for verification, not data 26 | transfer. Gave them some review yesterday. Were the locking comments 27 | clear? libvmmapi is not thread-aware. bhyve(8) knows about worker 28 | threads, API does not. 29 | 30 | **John:** Will assist with #ifdefs. Needs to look at a few more points. 31 | 32 | **Patrick:** The threads could provide a point of contention. 33 | 34 | **John:** Could distinguish from debugger and suspend/resume exits. 35 | 36 | **Darius:** Locks are in vm_context structure. 37 | 38 | Open discussion. 39 | 40 | ## Reviews 41 | 42 | **Patrick:** Thank you John for looking at the PIT one. 43 | 44 | **John:** Had an ABI change but updating will take care of that. 45 | 46 | Patrick has been using it in production for a year. Mark has been 47 | watching it. IOAPIC is next. Need to test with MSI turned off. 48 | 49 | Patrick/John: Looking ways to turn off level-triggered interrupts. 50 | 51 | John will look at save/restore. Patrick will look at John’s config work. 52 | 53 | ## Clocks 54 | 55 | **Patrick:** KVM pretends to be Hyper-V for the clock. Idea: “Which 56 | host do I want to pretend to be” Linux watches for KVM to use the 57 | paravirt clock. Pretending to be KVM or Hyper-V is probably the 58 | easiest approach, especially for older kernels. 59 | 60 | ## Configuration 61 | 62 | Michael learned that VMware has open source (Apache) [configuration 63 | APIs](https://github.com/vmware). Will investigate. 64 | 65 | ## Misc 66 | 67 | **Chuck:** Needs to run experiments based on Patrick’s feedback. All 68 | reviews up to date. 69 | 70 | John has a nagging [PCI pass-through 71 | bug](https://bugs.freebsd.org/205549) passing XHCI device to Linux 72 | guests, will not work on second reboot. 73 | 74 | Patrick: Maybe AHCI/XHCI handoff? 75 | 76 | John: Graceful/ungraceful shutdown? 77 | -------------------------------------------------------------------------------- /capsicum/20190405.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Ed Maste 3 | - Brian Kidney 4 | - David Drysdale 5 | - Mariusz Oshogbo 6 | 7 | # Agenda 8 | - Capsicum test suite 9 | - Bora's openrsync port (lstat and fts dependencies) 10 | 11 | # Notes 12 | - Capsicum test suite now integrated into the FreeBSD base system. 13 | - Status quo for upstream test suite location seems fine for now, 14 | reconsider if change velocity increases or David no longer has time 15 | to review and accept pull requests. 16 | - Is there a possibility of building the Linux port in some hosted CI 17 | system for testing the test suite on Linux? 18 | - Effort likely not worth it at this point, revisit if there is a renewed 19 | interest in the Linux port. 20 | 21 | - openrsync 22 | - Bora's WIP patch depends on lstat support in cap_fileargs and on changes 23 | to fts to allow use in a sandbox 24 | - One fts issue is that it changes the working directory 25 | - Mariusz shared a refreshed fts patch implementing no-chdir 26 | - fts also used open(), patch changes to openat 27 | - Mariusz will separate out whitespace changes and commit those 28 | - Ed / Bora will review and test the functional changes (FreeBSD test suite, 29 | other ad-hoc testing). 30 | - lstat changes nearly ready for commit, some minor comments outstanding in 31 | the review 32 | 33 | - Capsicumized strings now committed 34 | - bootstrapping issue had to be fixed as well 35 | - Ed will prod upstreaming effort along 36 | 37 | - tcpdump fails to open IPSEC key file in capability mode 38 | - [PR 236819](https://bugs.freebsd.org/236819) 39 | - Expedient fix is to add to cansandbox check, avoid sandbox if 40 | `-E file foo` specified 41 | - Most likley the file should just be opened prior to entering the sandbox 42 | - Would be interesting to see if static analysis or other approaches would 43 | identify this issue 44 | 45 | - Brian's notes 46 | - LOOM LLVM instrumentation now working and integrated with the FreeBSD 47 | build framework 48 | - Research questions - can move beyond static analysis to using dynamic 49 | analysis based on instrumentation 50 | -------------------------------------------------------------------------------- /capsicum/20190503.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Ed M 3 | - Brian K 4 | - Jonathan A 5 | - Mahya S 6 | 7 | # Agenda 8 | * openrsync 9 | * fileargs lstat committed 10 | * fts patch (supercedes [Bora's approach](https://reviews.freebsd.org/D19672)) 11 | * [openrsync patch](https://reviews.freebsd.org/D19407) 12 | * stalled patches 13 | * [bsdgrep](https://reviews.freebsd.org/D10121) 14 | * [{uu,b64}decode](https://reviews.freebsd.org/D7655) 15 | * [uuencode](https://reviews.freebsd.org/D15711) 16 | * [file](https://reviews.freebsd.org/D7655) 17 | * [cap_sysctl](https://reviews.freebsd.org/D17854) 18 | * [execveat](https://reviews.freebsd.org/D10275) 19 | * sshd [login_getpwclass wrapper](https://reviews.freebsd.org/D17056) 20 | * [correct `cap_rights_*` varargs use](https://reviews.freebsd.org/D12380) 21 | * [Skip multiple slashes when finding relpath](https://github.com/musec/libpreopen/pull/10) 22 | * [Add unlink wrapper](https://github.com/musec/libpreopen/pull/12) 23 | 24 | # Notes 25 | - Mahya now parsing json file of service declaration, configuring casper 26 | service and executing unmodified binary program; most challenging part is 27 | now done, moving on to testing functionality 28 | - Suggested this as a discussion topic for BSDCan, and/or the post-BSDCan 29 | Hackathon (Ed to forward details) 30 | - Jon discusses the notion of commonality of a description about what a Casper 31 | service can provide (drawing on several examples now - e.g. Mahya's work, 32 | capsh, Super Capsicumizer 9000) 33 | - There are multiple ways to choose between different implementations e.g. 34 | explicit runtime switch in libc, ifunc, compile-time options 35 | - Mark expects to look at the rest of ELF Tool Chain now that strings is 36 | capsized 37 | - Brian looking at areas where the research could go - e.g. compiler based 38 | instrumentation, it could be interesting to apply to those things Mahya is 39 | looking at 40 | - Mark raises the question of statically linked binaries (as our oblivious 41 | sandboxing examples rely on `LD_PRELOAD`), and in particular with go this 42 | is a real issue 43 | - Jon points out if one has bitcode an automatic transormation could work, 44 | but likely not applicable to go. Presumably have to engage with whoever 45 | maintains go's "libc". 46 | -------------------------------------------------------------------------------- /capsicum/20190531.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - David Drysdale 3 | - Ed Maste 4 | - Mark Johnston 5 | - Mahya Soleimani 6 | 7 | # Agenda 8 | - fts 9 | - Hackathon notes 10 | 11 | # Notes 12 | - Description of fts discussion from the Hackathon 13 | - Capsicum-Test integration 14 | - "Duelling" pull requests still open: 15 | - https://github.com/google/capsicum-test/pull/35 16 | - https://github.com/google/capsicum-test/pull/40 17 | - Still need GoogleTest & Kyua integration 18 | - Mark been doing code review for Mariusz' process descriptor work, 19 | [pdopen is in code review](https://reviews.freebsd.org/D20300) 20 | - For race-free signalling 21 | - David reports there's been recent work in Linux on this, using an entry in 22 | /proc 23 | - Some recent LWN articles 24 | - David asks how often the two cases are (obtaining a pd for an existing pid 25 | vs spawning a new process) 26 | - Mariusz working on a few other bugs with process descriptors (e.g. ptrace 27 | issues) 28 | - [procdesc: fix reparenting when the debugger is attached](https://reviews.freebsd.org/D20361) 29 | - [procdesc: allow to collect status through wait(1) if process is traced](https://reviews.freebsd.org/D20362) 30 | - Previous Capsicum calls have covered these sorts of issues; David recalls 31 | writing a document with lots of questions and few answers (and will try to 32 | locate it again): 33 | - [EDIT: doc from 2015 found and [made available here](https://lurklurk.org/procdesc/procdesc.html)] 34 | - [Syzkaller work at the Hackathon](https://wiki.freebsd.org/Syzkaller), Mark 35 | used `cap_enter` as an example of adding new system calls to Syzkaller 36 | - Teaching Syzkaller about `cap_rights_limit` and just passing junk in the 37 | rights is likely to be interesting too 38 | - Mahya integrating services (e.g. cap_random, cap_grp, ...) into her test 39 | supervisor application (not yet a "service manager") 40 | - What should we do for dynamic changes (arguments) 41 | - Applications may need different services at different times 42 | - Design changed somewhat to get closer to a service manager 43 | - May write a paper w/ Mariusz about the sandbox manager 44 | - David reports a renewed round of 45 | [`O_BENEATH` discussions on the LKML](https://lkml.org/lkml/2019/5/20/1064) 46 | -------------------------------------------------------------------------------- /capsicum/20190628.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - David Drysdale 3 | - Ed Maste 4 | - Mark Johnston 5 | - Mahya Soleimani 6 | - Mariusz Zaborski 7 | 8 | # Agenda 9 | - syzkaller and Capsicum syscalls 10 | - [panic: cap_rights_is_vset:243](https://syzkaller.appspot.com/bug?id=abceaf24a1f2f052872598c6020461cfcfb9f570) 11 | - ELF Tool Chain Capsicum patches 12 | - fts changes 13 | - [pdopen code review](https://reviews.freebsd.org/D20300) 14 | 15 | # Notes 16 | - markj or oshogbo will look at Syzkaller issue 17 | - ELF Tool Chain Capsicum patches 18 | - start discussion on the ELF Tool Chain developer list 19 | - Introduce a libelftc sandbox API? 20 | - Mariusz suggests using fileargs as the API, shipping the stub header with ELF Tool Chain for other OSes 21 | - need to create tmp files in the sandbox (e.g. in strip) 22 | - discussions about higher level APIs vs exposing FreeBSD APIs with stubs 23 | - ELF Tool Chain [bug in strings](https://bugs.freebsd.org/238511) 24 | - Mariusz hopes to look at the fts changes and the pdopen review soon 25 | - mahiyad renamed cap_exec 26 | - initial prototype working 27 | - service declaration file, cap_exec handles Capsicum services and preopened files 28 | - w/ Mariusz and Brian writing paper (for October) 29 | - identified new requirements as a result of this work 30 | - tried Brian's [capcheck](https://github.com/bkidney/capcheck) tool to find non-capmode system calls 31 | - found some bugs in capsh and libpreopen 32 | - Brian revisiting problematic Capsicum cases ("programming pitfalls") from one year ago (June 21 2018) 33 | - Collecting additional examples for the list 34 | -------------------------------------------------------------------------------- /capsicum/20190726.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Ed 3 | - Mahya 4 | - Mark 5 | 6 | # Agenda 7 | - [markj] ELFtoolchain Capsicumization 8 | - [markj] libnv Linux compatibility 9 | - [emaste] Capsicum-friendly fts(3) 10 | - [emaste] Brian's programming pitfalls 11 | 12 | # Notes 13 | Mark pretty much has all of ELF Tool Chain working under Capsicum. Most are 14 | pretty simple, just dump information about the inputs to stdout and the Casper 15 | fileargs service is sufficient. 16 | 17 | Two utilities caused grief: 18 | - strip (aka elfcopy/objcopy) 19 | - ar 20 | 21 | `strip` creates a temp file to write output and then renames over the input. We 22 | did not have an easy way to create a temp file relative to a directory 23 | descriptor. Also strip previously tried to create tmp files in `/tmp` always, 24 | which results in non-atomic renames if `/tmp` is on a different filesystem. 25 | First step fix that by creating tmp file in same directory. 26 | 27 | `ar` is trickier. One of the things `ar` can do is extract all of the contents 28 | (.o files) of an archive to the current directory, but libarchive does not have 29 | such functionality; we don't know what the output names are until we parse the 30 | archive. 31 | 32 | libarchive is complicated, and has lots of `#ifdef`s for `HAVE_OPENAT` etc. It 33 | is hard to make this API make sense without `openat` and `*at` syscalls; we 34 | could change the working directory of the process and use normal non-relative 35 | system calls but that seems like a hack. Return an error if trying to use on a 36 | system without `*at` system calls? Mark to discuss upstream, such an API also 37 | allows simplifying `-C` etc. 38 | 39 | Some small bugs fixed and being sent upstream already. Can probably add a 40 | libelftc routine to wrap cap_fileargs use. 41 | 42 | `ar` also has a script mode where the operations and filenames are passed via a 43 | file or stdin; we could break compatability to disable sandboxing in that mode. 44 | 45 | Found an interesting issue with libnv on 32- vs 64-bit FreeBSD, which raises 46 | the question, do we want to continue to support libnv on Linux? 47 | 48 | Alan Somers GSoC student has a patch for ping6. Suggestion on the call to look 49 | at all setuid/setgid binaries. Any Capsicum problems from using libxo? 50 | 51 | Still wondering about how we can capsicumize system daemons without having to 52 | go through all of their code examining their system calls. 53 | 54 | Mahya exploring fileargs, capexec, 55 | [capstart](https://github.com/musec/libcapstart), sandcastles 56 | Mahya, Jon, Mariusz working on parts of this. 57 | 58 | Draft finished, in the middle of testing found 59 | [capsh](https://github.com/musec/capsh) has issues, few days ago started moving 60 | to libcapstart. Fileargs requires the same limit on all fds. Mahya working on 61 | more flexible fileargs limits, really need to add this feature to Casper 62 | fileargs service. 63 | 64 | Mark thinking about how to build a debugger to help identify capability mode 65 | issues (e.g. use `ptrace` to intercept system calls and log backtrace upon 66 | Capsicum errors) 67 | 68 | Discussion about sandbox-friendly APIs, migration of existing libraries to 69 | being more friendly to sandboxing, and promoting existing sandbox-friendly APIs 70 | in third-party projects. 71 | -------------------------------------------------------------------------------- /capsicum/20190809.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Mahya 3 | - Mark 4 | - Kib 5 | - Braian 6 | - Ali 7 | - Mariusz 8 | 9 | # Notes 10 | Mark is working on capsicumizing toolchain. 11 | He developed a mkostempsat function (https://reviews.freebsd.org/D21031). 12 | This function was required by libarchive. 13 | Mark during this work he also reported few fileargs issues: 14 | * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239685 15 | * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239700 16 | 17 | We also briefly discussed the idea of saving configuration of the Casper in JSON file, 18 | instead of modifying the code. 19 | Maya pointed out that a similar approach is made in CapExec. 20 | 21 | Durning capscumlization of the strip(1), Mark, changed that the program is creating a temporary file in the file directory instead of the /tmp/. 22 | This approach is better, for example, because the move is an atomic operation. 23 | 24 | Brain is working on SandCastles - a project which has a list of the application that is hard to sandbox. 25 | It will also describe what the problem with the application is. 26 | This may also be useful for other sandbox techniques in the feature. 27 | 28 | He also describes how the capcheck works - https://github.com/bkidney/capcheck 29 | 30 | 31 | Ali is working on a formally verified dot dot model as his final project. 32 | The model is almost ready. 33 | 34 | Maya and Marius were mostly working on the CapExec paper for the CNSM conference. 35 | -------------------------------------------------------------------------------- /capsicum/20190913.md: -------------------------------------------------------------------------------- 1 | # Capsicum Call 2 | 3 | # Attendees 4 | * kib 5 | * jonathan 6 | * emaste 7 | * markj 8 | * oshogbo 9 | * rstone 10 | * Mahya 11 | 12 | # Agenda 13 | * rstone eBPF interposition 14 | 15 | # Notes 16 | ## eBPF interposition 17 | - Ryan discusses his Capsicum/eBPF work. Linux uses eBPF not only for tracing 18 | etc. but to extend kernel behaviour (e.g. switching/routing functionality in 19 | kernel). 20 | - Ryan mentored eBPF GSoC project (initial porting), and has over the last week 21 | implemented eBPF syscall probes that translate to sandbox-friendly (e.g. open 22 | to openat). Now at the point where we can run a sandboxed Clang and produce 23 | a .o.) 24 | - Base system Clang has eBPF output available already (under a build knob). 25 | - About 300 lines of C code compiled to eBPF for the 10 syscalls translated so 26 | far. 27 | - Discussion about fork to pdfork translation, and different semantics of the 28 | syscalls. fexec to fexecve, moving fdescfs moving into devfs 29 | - Jon discussed different methods of interposition, and would really like to do 30 | a comparison of the static and dynamic costs of the various techniques. 31 | - It may be that we want two or three interposition methods. 32 | 33 | Links from Ryan: 34 | - The EBPF programs that implement syscall rewriting are here: 35 | https://github.com/rysto32/factory/blob/master/src/capsicum/ebpf_progs/open/open.c 36 | - Most of the work to sandbox the subprocess with capsicum and EBPF is 37 | done by this class: 38 | https://github.com/rysto32/factory/blob/master/src/capsicum/CapsicumSandbox.cpp 39 | - The in-kernel EBPF interpreter and related machinery can be found in this repo: 40 | https://github.com/rysto32/generic-ebpf 41 | 42 | - Discussion about where the translation eBPF programs would live. 43 | - Webassembly as a generic way to plug byte code into the kernel. 44 | 45 | ## Misc discussion 46 | - Mark hoping to get back to ELF Tool Chain, libarchive next month. 47 | - A discussion to be had about oblivious sandboxing imposed externally vs 48 | self-sandboxed binaries. 49 | - Mariusz, Mahya still working on the *cap_exec* paper. 50 | 51 | - Ryan raises issue of closing fds (e.g. closefrom, closerange on fork) or dup2 52 | conflicting with oblivious sandboxing. 53 | - could add a flag to prevent closing (kib) 54 | 55 | - Ryan's motivating use case: a build tool that eliminates build races, by 56 | sandboxing the invoked tool and only permitting it to open files explicitly 57 | provided as dependencies. 58 | 59 | - Discussion of fts changes - storing directory fd in struct, use of *at 60 | -------------------------------------------------------------------------------- /capsicum/20200110.md: -------------------------------------------------------------------------------- 1 | # Capsicum Call 2 | 3 | # Attendees 4 | emaste 5 | kib 6 | 7 | # Discussion 8 | Cancelled due to lack of attendance. 9 | -------------------------------------------------------------------------------- /capsicum/20200207.md: -------------------------------------------------------------------------------- 1 | # Capsicum Call 2 | 3 | # Attendees 4 | - emaste 5 | - kib 6 | - oshogbo 7 | 8 | # Discussion 9 | - ["readlink(2) and Capsicum"](https://lists.cam.ac.uk/pipermail/cl-capsicum-discuss/2020-January/msg00000.html) 10 | thread on cl-capsicum-discuss 11 | - handle in fileargs with a `fileargs_init` flag 12 | - briefly summarized pkg Capsicum discussion from 2 weeks ago 13 | -------------------------------------------------------------------------------- /git-wg/20191217.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2019-12-17 2 | 3 | # Attendees 4 | - emaste 5 | - gjb 6 | - imp 7 | 8 | # Discussion 9 | - Ongoing discussion of subtree/subrepo/subtrac for contrib/ software 10 | - gjb patching the build wrapper scripts 11 | - what to do with `$FreeBSD$` tags 12 | - impact on mergemaster? 13 | -------------------------------------------------------------------------------- /git-wg/20200331.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-03-31 2 | 3 | # Attendees 4 | - delphij 5 | - emaste 6 | - gjb 7 | - imp 8 | - uqs 9 | 10 | # Discussion 11 | - Need a jail to move bapt's prototype to 12 | - Prototype is OK but too slow for broader experimentation 13 | - Next step is to publish the repo to share it widely to provide an adequate 14 | experience for testers 15 | - Need to sort out svn2git conversion issues 16 | - Vendor branches: existing conversion is OK 17 | - Tags: not sure what to do, uqs to open github issues to discuss 18 | - Need to get people to update their GECOS names for final conversion 19 | - uqs needs to push the conversion tool 20 | - Meeting notes 21 | - Core suggests that we publish the meeting notes to the meetings repo more 22 | proactively. 23 | 24 | 25 | - lwhsu reports that the repo host jail is set up by clusteradm 26 | - bapt cannot join the meeting but will install / configure packages 27 | - gjb: making progress on the release build code, hope to have something in 28 | svn user directory soon 29 | - uqs: question about commit hooks, require that the committer = authenticated 30 | FreeBSD user 31 | - broader discussion about commit names and author names; imp suggests that 32 | for the first iteration require committer = author = authenticated user 33 | - uqs has been able to make mergeinfo (mostly) work in svn2git 34 | - about 2000 of 3000 merge commits are handled successfully, about 1000 35 | have some strange mergeinfo that is not yet handled 36 | - vendor branch has some diverse layouts 37 | - discussion about branchs vs tags in git conversion; svn2git rules handle 38 | tags but make the rule set complicated 39 | - uqs will create rules for initial set of tags, then the work can be done 40 | in parallel by others with guidance once the issues are sorted out 41 | - emaste suggests using unique names while iterating on the conversion, 42 | e.g. name the branch master.20200421 or main.20200421 e.g. 43 | -------------------------------------------------------------------------------- /git-wg/20200407.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-04-07 2 | 3 | # Attendees 4 | - delphij 5 | - emaste 6 | - gjb 7 | - uqs 8 | 9 | # Discussion 10 | - gjb: needs a patch from bapt for a port to be used in the git jail 11 | (cgit perhaps?) 12 | - uqs: have we contacted DragonFly BSD folks to ask about their experiences 13 | with vendor code, merges, etc.? 14 | - emaste: have looked at DragonFly's git repo and believe that the approach 15 | they are using is subtree merges; `git subtree` is equivalent but syntactic 16 | sugar 17 | - emaste will ask once we have some more specific/concrete questions 18 | - FreeBSD 9.0 was released from CVS, FreeBSD 10.0 from Subversion 19 | 20 | -------------------------------------------------------------------------------- /git-wg/20200414.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-04-14 2 | 3 | Meeting cancelled 4 | -------------------------------------------------------------------------------- /git-wg/20200421.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-04-21 2 | 3 | # Attendees 4 | - delphij 5 | - emaste 6 | - gjb 7 | - imp 8 | - uqs 9 | 10 | # Discussion 11 | - lwhsu reports that the repo host jail is set up by clusteradm 12 | - bapt cannot join the meeting but will install / configure packages 13 | - gjb: making progress on the release build code, hope to have something in 14 | svn user directory soon 15 | - uqs: question about commit hooks, require that the committer = authenticated 16 | FreeBSD user 17 | - broader discussion about commit names and author names; imp suggests that 18 | for the first iteration require committer = author = authenticated user 19 | - uqs has been able to make mergeinfo (mostly) work in svn2git 20 | - about 2000 of 3000 merge commits are handled successfully, about 1000 21 | have some strange mergeinfo that is not yet handled 22 | - vendor branch has some diverse layouts 23 | - discussion about branchs vs tags in git conversion; svn2git rules handle 24 | tags but make the rule set complicated 25 | - uqs will create rules for initial set of tags, then the work can be done 26 | in parallel by others with guidance once the issues are sorted out 27 | - emaste suggests using unique names while iterating on the conversion, 28 | e.g. name the branch master.20200421 or main.20200421 e.g. 29 | -------------------------------------------------------------------------------- /git-wg/20200512.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-05-12 2 | 3 | # Attendees 4 | - bapt 5 | - delphij 6 | - emaste 7 | - gjb 8 | - glebius 9 | - imp 10 | 11 | # Discussion 12 | - Waiting on cgit reverse proxy from clusteradm 13 | - bapt: experiment with mirroring techniques before cut over 14 | - allow us to commit test changes to the interim repo 15 | - absolutely certain it will be regenerated before official cut-over 16 | - may be regenerated during 17 | - need to follow up with clusteradm again 18 | - bapt will ping for next steps, cc lwhsu 19 | - gleb: no update on conversion process 20 | - delphij drafted instructions on migrating from existing fork to new repo 21 | - need to record the SHA1s for the process 22 | - gjb: no update on release builds, discussed with Mark F. regarding 23 | 11.4/doc tree, will be done for 12.2 24 | 25 | -------------------------------------------------------------------------------- /git-wg/20200526.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-05-26 2 | 3 | # Attendees 4 | - delphij 5 | - emaste 6 | - gjb 7 | - imp 8 | - uqs 9 | 10 | # Discussion 11 | - emaste: no update on phantom commit issue 12 | - uqs will check how many svn proje t branches have been merged back 13 | - emaste will file issue 14 | - uqs: re to confirm the final tag/naming 15 | - check also unusual tags like `4.0_SHIPPED` 16 | - send query for new time slot 17 | -------------------------------------------------------------------------------- /git-wg/20200602.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-06-02 2 | 3 | # Attendees 4 | - emaste 5 | - gjb 6 | - imp 7 | - uqs 8 | 9 | # Discussion 10 | - uqs fixed branch point creation 11 | - currently investigating some vendor merge details - converter now has 12 | enough hacks that they all interact in weird ways 13 | - emaste: need repo with working subtrees 14 | - imp: what is 12.2 schedule? 15 | - tentative plan, 8 weeks from today for official cutover 16 | - else after release, Oct/Nov - Jan 22 2021 is 13 branch date 17 | -------------------------------------------------------------------------------- /git-wg/20200609.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-06-09 2 | 3 | # Attendees 4 | - bapt 5 | - delphij 6 | - emaste 7 | - glebius 8 | - imp 9 | 10 | # Discussion 11 | - glebius: created another splitting tool, will try with contrib/elftoolchain 12 | - bapt: cgit cleanup - cgit has no output when cloning, switched to git http 13 | backend, now have expected output 14 | - from bapt's home, at least 2x as fast as GitHub 15 | - limited by iwn 16 | - cgi cwas the limitation, switched to 10 worker prefork, "good enough" 17 | - uqs' collection was up to 20G, git prune is now 1.5G src, 1.8G ports, 18 | 389MB docs 19 | - clusteradm-provided machine is unreliable 20 | - build new packages, vuxml warnings but pkg update removed pkgs 21 | - switch to official repos maybe? 22 | - bapt asked portmgr for concerns/issues with the conversion 23 | - warner: has portmgr done an exp-run from git? 24 | - request one 25 | - who will do doc side of things, bcr perhaps? 26 | - bapt has some candidates to test out developer workflow doc 27 | - need automatic key importing 28 | - once we have push going, need to experiment with automatic mirroring to 29 | github/gitlab, bapt on track for next week or two 30 | -------------------------------------------------------------------------------- /git-wg/20200616.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-06-16 2 | 3 | # Attendees 4 | - bapt 5 | - emaste 6 | - delphij 7 | - gjb 8 | - glebius 9 | - imp 10 | - uqs 11 | 12 | # Discussion 13 | 14 | - emaste tried Gleb's splitter (`git subtree split` alternative), found that it 15 | does not convert merges (e.g. vendor branch merges to contrib/). Gleb will 16 | look at updating. 17 | - gjb aksed about flag day conversion - will all three trees switch over at 18 | the same time? 19 | - not certain, could be doc first, then src then ports 20 | - bapt working on mirroring of cgit-beta, there is now a mirror on gitlab 21 | - push --mirror was tricky / not working well 22 | - gitlab can pull by itself 23 | - will try same thing on GitHub 24 | - bapt reports there is a svn server for git - will investigate, to continue 25 | providing svn view of the repos while releases originally produced from svn 26 | are supported 27 | - default branch name: it appears Git / GitHub / GitLab will all be migrating 28 | to `main` as the default branch name over the next while 29 | - discussed the svn2git merge conversions, uqs suggests we could perhaps drop 30 | all metadata from head -> projects branch (MFH / IFC) 31 | - believe this would be fine 32 | - are any project branches in use today? at least one, rmacklem's NFS TLS work 33 | -------------------------------------------------------------------------------- /git-wg/20201117.md: -------------------------------------------------------------------------------- 1 | # Git Migtation Working Group - 2020-11-17 2 | 3 | # Attendees 4 | - emaste 5 | - gjb 6 | - lwhsu 7 | 8 | # Notes 9 | - Hardware has arrived at Bridgewater, waiting on racking and cabling 10 | - waiting on Ryan and Philip 11 | - https://cgit-dev.freebsd.org/ is running now, architecture as described last 12 | week 13 | - working on importing all developers public keys to repo-dev.freebsd.org 14 | - commit hook status unknown 15 | - looking at Warner's git-svn conversion script 16 | - Expect doc by end of week for review 17 | - svn.freebsd.org: what to do with socsvn and csrg repositories? 18 | - clusteradm will have to maintain svn for the next couple of years anyway, 19 | will need an upgrade as it is old -CURRENT 20 | - suggest early next week switch from cgit-beta to cgit-dev 21 | - move staging server to beta open to public 22 | - Git WG members switch efforts to production server 23 | -------------------------------------------------------------------------------- /git-wg/20201124.md: -------------------------------------------------------------------------------- 1 | # Git Migration Working Group - 2020-11-24 2 | 3 | # Attendees 4 | - bapt 5 | - delphij 6 | - emaste 7 | - gjb 8 | - imp 9 | - lwhsu 10 | - uqs 11 | 12 | # Notes 13 | - Discussion of vendor branches not being included in the default refspec 14 | - lwhsu was not aware and created cgit-dev copied from uqs' main git repo, 15 | so it has all branches 16 | - we should be able to rename them later (refs/vendor/... to 17 | refs/heads/vendor/...) 18 | - may have to provide some special instructions for users to update 19 | - Dist directory - vendor/foo vs vendor/foo/dist 20 | - uqs to check if we can do the rename (does vendor/foo preclude 21 | vendor/foo/dist?) 22 | - lwhsu looking at commit hooks 23 | - production date, would moving back one week help? 24 | - aim for Dec 5 for doc, 19th for src 25 | - lwhsu acces file / [todos](https://hackmd.io/bK251VOfQAm6Gw1S5C5lRQ) 26 | -------------------------------------------------------------------------------- /git-wg/20201201.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-12-01 2 | 3 | # Attendees 4 | - bapt 5 | - delphij 6 | - emaste 7 | - gjb 8 | - glebius 9 | - imp 10 | - lwhsu 11 | - uqs 12 | 13 | # Discussion 14 | 15 | - lwhsu asks about projects/ users/ etc. in cgit-beta doc/ 16 | - likely stale references, uqs will look 17 | - imp: proposal on GitHub publishing 18 | - freebsd-doc vs doc is acceptable (GitHub vs our repo name) 19 | - need to confirm that non-default namespaces work w/ GitHub 20 | - we can move projects/ users/ to new namespace 21 | - can we rename freebsd to freebsd-src and have stars/forks transfer over? 22 | - need to follow up with GitHub contacts 23 | - Consider got (gameoftrees) as a technology preview in FreeBSD 13 24 | - How many committers use svnlite vs svn from ports? 25 | - Doc conversion 26 | - Form list of known issues we will encounter 27 | - lwhsu expects to complete work by Thursday or Friday, announce any 28 | showstoppers 29 | - Everyone on call check cgit-dev deoc repo, asap 30 | - Verify commit hooks etc. 31 | - gjb: Can we make the git conversion for doc run more frequently? 32 | - uqs: doc run takes ~2.5 minutes so every 5 or 10 mins is possible 33 | - imp: start of 34 | [doc transition timetable](https://hackmd.io/wvtUwJKQSFCcofgw0jE_KA) 35 | - will publish Dec 2nd 36 | -------------------------------------------------------------------------------- /git-wg/20201208.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-12-08 2 | 3 | # Attendees 4 | - bapt 5 | - delphij 6 | - emaste 7 | - gjb 8 | - glebius 9 | - imp 10 | - lwhsu 11 | - uqs 12 | 13 | # Discussion 14 | 15 | - Commit mail format - per-commit vs per-push? 16 | - Prefer single mail per commit, in line with current SVN practice. 17 | - Can revisit later, after transition. 18 | - lwhsu will implement 19 | - uqs found non-determinism issue in SVN commit notes 20 | - main and branch content is complete though, we can transition even 21 | if notes are not finished 22 | - GitHub mirror 23 | - ready for pushing to main at any time 24 | - can delete stable/ branches manually and stand that up after 25 | - stalling for a day or two is fine 26 | - Gitlab mirror 27 | - bapt reported earlier that it has pull-based support internally 28 | - Commit mailing list names 29 | - Will switch to dev- prefixed ones, already created 30 | - Branch and Tag policy 31 | - Precommit hook for new branch creation, commit to record "approved by" 32 | info etc. 33 | - Only annotated tag with "approved by" permitted 34 | - Next steps to open push access 35 | - Commit simplified version of hooks 36 | - lwhsu to write simple doc on setting up environment 37 | - src next steps 38 | - Need to write and publish schedule, including lessons learned from 39 | doc transition 40 | - git -> svn converter needs validation 41 | - uqs: commit notes are a mess, worst case we can hold off on SVN notes 42 | at first; content is fine 43 | - hold off on vendor imports for now, require individual requests 44 | (imp to mail developers/hackers) 45 | - New committers must have author map entries 46 | - Can simplify to "only plain HEAD commits and MFCs for now, by 47 | existing committers" 48 | - OpenSSL 1.1.1i pre-approved for jkim 49 | -------------------------------------------------------------------------------- /git-wg/20201215.md: -------------------------------------------------------------------------------- 1 | # Git Working Group 2020-12-15 2 | 3 | # Attendees 4 | - bapt 5 | - emaste 6 | - gjb 7 | - glebius 8 | - imp 9 | - lwhsu 10 | - uqs 11 | 12 | # Discussion 13 | 14 | - Doc tree open issues 15 | - sync to GitHub 16 | - Use a cron job (5 minute) rather than post-commit hook 17 | - Avoid dependency between GitHub and our internal mirrors 18 | - GitLab sync 19 | - bapt will make it pull automatically 20 | - update frequency is unspecified 21 | - Which brahches? 22 | - agreed we'll just `push --mirror` 23 | - leave master and svn_head for later 24 | - Need dashboard / monitoring to confirm mirrors are in sync 25 | - Check disk usage too 26 | - gjb reports `git clean` was the cause of the doc/website failure (fixed) 27 | - Src 28 | - Warner has vendor docs in progress 29 | - recommend requiring annotated tags 30 | - emaste, manu et al to review 31 | - lwhsu to install commit hooks 32 | - metadata (e.g. `Approved by`) 33 | - For new branches, the commit that changes the metadata can carry it 34 | - emaste linked to commit message article, imp incorporated in docs 35 | - git→svn exporter 36 | - lwhsu suggests using cron job 37 | - conversion schedule 38 | - so far looking good for this weekend 39 | - some items (e.g. svn rev notes) might be delayed a day or two 40 | - nyan@ gecos name is incorrect 41 | - Other 42 | - brooks confirmed glebius' process for transplanting work is valid 43 | - merge commit to join the two repos would b ethe last commit in master, 44 | not present in main 45 | -------------------------------------------------------------------------------- /git-wg/20201222.md: -------------------------------------------------------------------------------- 1 | # Git migration Working Group 2020-12-22 2 | 3 | # Attendees 4 | - emaste 5 | - gjb 6 | - imp 7 | - lwhsu 8 | - uqs 9 | - glebius 10 | - jhb 11 | - bapt (part) 12 | 13 | # Agenda 14 | - [x] Doc repo punch list 15 | - lwhsu fixed PR commit updater 16 | - jhb has 2 reviews open for svn rev vs hash 17 | - https://reviews.freebsd.org/D27703 18 | - https://reviews.freebsd.org/D27704 19 | - [x] Src - conversion bug 20 | - ipfilter (kernel) split in two refs (uqs), fix is easy but would respin 21 | everything from releng 10 and above 22 | - git replace --graft patches things up a little, but downstream need to 23 | explicitly fetch those 24 | - [x] Src - vendor branch 25 | - where to stick them? DFly does refs/heads/vendor like any self-respecting 26 | git user would 27 | - it would look like this: https://cgit-dev.freebsd.org/src-test2/refs/ 28 | - not too bad if we assume people pull from Github (and we don't push that 29 | stuff to GH anyway) 30 | - needs updates to all our vendor documentation 31 | - to avoid: having both refs/heads/vendors and refs/vendors, that would be 32 | the worst. 33 | - [x] Src - MFC 34 | - Need to propose commit message format and discuss w/ community 35 | - Policy wrt squashing commits 36 | - [x] Src - opening for commits 37 | - main branch only after call 38 | - postpone vendor and stable as commit hooks are finalized 39 | - expect 2 days for hooks and such, working in dev environment with delphij 40 | 41 | # Discussion 42 | - vendor branch ref location (refs/vendor vs refs/heads/vendor) 43 | - lwhsu prefers having refs/vendor/ hidden, points out we could push 44 | refs/vendor to GitHub 45 | - lwhsu's opinion is that we should push all *in use* branches to mirrors 46 | (e.g. refs/internal/*) 47 | - consensus: put in refs/heads/vendor in source of truth, do not push them 48 | to GitHub 49 | - send heads-up when it's going to move (folks will get some console spam 50 | when it happens) 51 | - we can propose a git patch to provide better control over listing branches 52 | if necessary 53 | - admin branch under refs/heads? 54 | - does it need to be in the same repo? 55 | - we could bring over the three access files with history into a gitadmin repo 56 | - proposal: not into refs/heads, we will eventually move to a gitadmin repo 57 | later on 58 | - ipfilter hiccough 59 | - consensus is to leave it 60 | - uqs is super sad :( 61 | - we can eventually produce an updated conversion (including sccs, cleaning 62 | up ipfilter) that can be git grafted 63 | - GitHub path 64 | - rename freebsd to freebsd-src 65 | - create freebsd-legacy repo for old metadata 66 | - can't be a fork 67 | - `push --mirror` 68 | - push only major branches to GitHub 69 | - leave master in new one at first? 70 | - yes, that's ok 71 | - glebius can prepare the merge main->master commit for review 72 | - that commit can have a URL with instructions for migrating 73 | - set freebsd-legacy to archive mode once done 74 | - MFC format 75 | - Send out messaging 76 | - caution should be exercised for now 77 | - the MFC commit message format might change because we want to support 78 | future tooling for identifying merge candidates 79 | - imp, jhb, emaste to hash out over IRC etc. 80 | - gjb has a workflow question 81 | - git worktree is a suitable approach 82 | - does not have the convenient property of one 'svn up' to update everything 83 | though 84 | -------------------------------------------------------------------------------- /graphics/20181107.md: -------------------------------------------------------------------------------- 1 | # 2018-11-07: 2 | * drm-legacy, status update from FreeBSD 12 3 | ** Status quo: still building, nothing has changed, still occasionally an issue with support. 4 | * xf86-video-ati and drm-legacy (pr 231884) 5 | ** Added xf86-video-ati-legacy to cope with old hardware, note added to pkg-message (does anybody read those?) 6 | ** Should add it to 12.0 release notes. Needs really good information in the documentation. 7 | ** No easy way to fix the technical issue due to changes in interface changes and there’s no time available to devote to this. 8 | * drm-devel and stolen memory 9 | ** Committed in current 339979 10 | ** Kib merged this to 12 in 340224 11 | * drm-stable and drm-next 12 | ** Confirm that drm-next is compatible with 11.2. If so, bump drm-stable to Linux 4.11 (current drm-next) 13 | ** Deprecate drm-next 14 | ** Bump drm-stable to Linux 4.16 for 12.0 once we confirmed it’s stable. 15 | * enabling wayland by default (pr 227509) 16 | ** Enable it. We need to start fixing the issues. Right now it’s too hard to build your own thing. 17 | ** Will run through the patch and Niclas will approve it so Jan can commit it. 18 | * bumping llvm version in mesa 19 | ** Gecko ports switched to llvm70. No need for mesa to have a different version, but we need to test it to make sure this isn’t a problem. It’s been tested by a few people outside the graphics group. 20 | ** Not having good testing infrastructure is slowing things down. 21 | ** Ideally this would happen at a different time than enabling WAYLAND (proposed: WAYLAND first, llvm70 second. WAYLAND patches further along). 22 | * input stack - progress update (pr 222905 and friends) 23 | ** Niclas working on this 24 | ** Libinput and other stuff 25 | ** Do xorg-server still need the UDEV patch to work with libinput? If so, how do we solve that? Instructions here (bottom of readme) https://github.com/wulf7/libudev-devd we’ll update libinput first, then investigate this issue to make Niclas’ life easier 26 | ** Johannes L is using experimental driver for i2c track pad https://reviews.freebsd.org/D16698. Works good but lack evdev support. Something that we want to add. 27 | ** Branch is up-to-date, but a few ports aren’t latest version. Can be found here: https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input 28 | ** Get the branch in and update stragglers after. 29 | ** Input.h is defined in multiple places, and the different versions cause confusion. 30 | ** Our support for new input devices is lagging upstream significantly and we need to update. 31 | * enabling evdev in GENERIC (D16721) 32 | ** Patches committed to current to fix races and special cases needed for things like debuggers and panic wrt locking. 33 | * proposed changes to support cycle for FreeBSD 12.0 34 | ** Experience from Gnome/KDE support cycle suggests a shorter cycle is better 35 | ** There’s no problem with a shorter cycle from a graphics perspective 36 | ** Graphics team doesn’t aspire to support latest hardware except on latest software. 37 | ** Updating 12.0 past 4.16 might be difficult, the rest of the graphics ecosystem moves in lock-step and that makes it hard to support multiple versions. 38 | ** Recent changes are easier to back port and the graphics team can only make their best efforts to backport as the branch ages. They can’t guarantee any lifetime due to external events not our control. 39 | ** Goal is to support the branch as long as the project supports it. 40 | ** 11.3 is coming out, but additional support for GPUs newer than 4.11 will not be back ported, for example. You’d need to run 12.0 for something newer. 41 | * release notes 42 | ** Need good explanation and how to get things running 43 | ** Niclas will write up something 44 | ** Should include the major versions of GPUs that’s supported in a table (though maybe that’s just a WIKI thing that we can point things to). 45 | * Documentation 46 | ** Work to update the wiki has started. Pete Wright is leading this. Others will contribute with information. 47 | ** We should have a blog? Johannes will set it up 48 | * i386 support in drm-devel 49 | ** Tijl Coosemans added i386 support to drm-devel. Works good for him with radeonkms driver but no other tester yet as far as we know. 50 | ** Drm-devel port updated. We should let people know. 51 | ** Provide it as-is. Won’t get the same level of support. 52 | ** Make sure Tijl is ready to have it enabled and answer support questions. 53 | ** Matt Macy is looking at Power8 and Power9 drivers 54 | ** Other architectures that people wish to add support for will be provided on an as-is basis. 55 | # Attended: 56 | * Niclas Zeising (zeising@) 57 | * Johannes Lundberg 58 | * Warner Losh (imp@) 59 | * Johannes M. Dieterich (jmd@) 60 | 61 | -------------------------------------------------------------------------------- /graphics/20181121.md: -------------------------------------------------------------------------------- 1 | # 2018-11-21: Agenda 2 | * Drm-legacy, status update from FreeBSD 12 3 | ** Nothing new to report, mostly working. We need more docs, but this is likely as good as it gets. It requires the xf86-video-ati-legacy DDX when using ATI/AMD cards. May also need to add a note about the ‘video’ group so they can use the acceleration. This is true for drm-* and is important to get good performance. 4 | * Drm-stable, drm-next and default version in 12 5 | ** What’s today drm-next will be the version for 11.2. (we can retire drm-stable) 6 | ** Is drm-devel stable enough for 12.0? 4.16 will be the default version for 12, 4.11 will be backup 12.0. Can’t guarantee 4.11 will work for the life of the 12 branch, but will work for a transition period around the release. 7 | * Different drm ports for different FreeBSD versions 8 | ** As the number of releases supported by drm drivers increase we need to reduce maintenance burden. It’s not manageable to have the same code branch build for all releases. (Johannes L) 9 | ** Manage this by creating a 4.16-12.0 (which is locked), 4.16-13. If changes are needed for 12.1 when it comes, we make a 4.16-12.1 branch. 10 | ** Only drm-devel for current to keep support load manageable. 11 | ** For each version cut one version. Drm-devel for current. Latest changes land in drm-experimental that we iterate on until it’s ready to become the next drm-devel. 12 | ** https://reviews.freebsd.org/D18328 13 | * Release notes 14 | ** Needs to be written. Niclas to do it, the rest to review. Will be put on github for review, then marshalled in to FreeBSD. 15 | * Bumping llvm version in mesa 16 | ** Bumping it to llvm70, running on one laptop for a few hours and things aren’t terrible. More testing needed, especially on AMD. Make go/nogo call next graphics meeting, or sooner. 17 | ** https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230789 18 | * Input stack - progress update 19 | ** Not much to report, not much work done on it. Hopes progress made this weekend. 20 | * Evdev in GENERIC 21 | ** Committed i386, amd64, powerpc and powerpc64 (i386, amd64 merged to 12). 22 | ** Other architectures possible, but users need to contact Niclas to get them added. 23 | * I386 and ppc64 support in drm-devel-kmod 24 | ** Ppc64: Linux ioremap takes a raw resource, so we needed a bus helper to do the translations on ppc64’s different domains. Changes need to be upstreamed and reconciled with Baldwin’s proposals. Also need some memory barriers needed. 25 | ** I386 support in and working, as far as we know. 26 | ** Plan to turn off build by default for i386 and amd64 in the next week in 13.0. Sometime after the first of the year we’ll trim things further in head. 27 | * Documentation and new wiki page 28 | ** https://wiki.freebsd.org/Graphics2 29 | ** New blog here https://freebsddesktop.github.io/ 30 | ** General reorganization to help people understand more easily. This includes a FAQ with the gotchas like DDX matching, tables for supported devices, etc. This is the user-facing documentation. 31 | ** Will need to have a developer’s resource to help people find things, do testing, understand the general state of things. 32 | ** Should be in good enough state before 12.0 RELEASE to have the cut-over done. We’ll move old stuff away and move Graphics2 -> Graphics when over the weekend sometime. 33 | * Testing 34 | ** CI compile testing to make sure that we still build on each of the supported 12.x releases. Suggested loading modules to catch missing symbols, etc. 35 | ** Further discussions deferred to next meeting. 36 | * Mesa 18.3.0 37 | ** Defer until next meeting. Still in RC phase and patches are available. Needs more testing and we’ll talk about next time. 38 | ** https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233034 39 | * Quarterly status report 40 | ** Started new branch in the freebsddesktop repo so we can keep a ‘ticker’ going of important things so we can remember come January when it’s time to do a report. Can be found here: https://github.com/FreeBSDDesktop/freebsd-quarterly/blob/2018Q4/2018q4/graphics.md 41 | 42 | # Attended: 43 | * Niclas Zeising (zeising@) 44 | * Johannes Lundberg 45 | * Warner Losh (imp@) 46 | * Matt Macy (mmacy@) 47 | * Pete Wright 48 | * Johannes M. Dieterich (jmd@) 49 | 50 | -------------------------------------------------------------------------------- /graphics/20181219.md: -------------------------------------------------------------------------------- 1 | # 2018-12-19: Agenda 2 | * Release notes 3 | ** Done, looks good. They can be amended if needed. 4 | * Renaming drm-kmod and update versions 5 | ** FreeBSD current on 4.16, haven’t migrated to newer yet 6 | ** FreeBSD 12 uses 4.16 drivers (drm-fbsd12.0-kmod) 7 | ** FreeBSD 11 uses 4.11 drivers (drm-fbsd11.2-kmod) (they will also work on 12.0, but no promises about 12-stable branch) 8 | ** If we have to do more renaming, make sure we talk to re@ when we do this. 9 | ** For 12.1 we’ll either create a new port, or we’ll continue using the 12.0 port depending on the deltas between them. 10 | * Bumping llvm version in mesa 11 | ** Llvm 7. Pete has been running it w/o any issues. 12 | ** Niclas to coordinate with portmgr to see whether they want it in before or after the 2019Q1 branch. 13 | * Input stack 14 | ** Merging development branch into ports, some things still remaining 15 | ** Need to update ports (some to the latest version), once merging is done 16 | ** Nothing needs to be done in base for this round 17 | * Deorbit legacy drm in base 18 | ** Next stages planned for maybe Mid January. Be sure to coordinate with Matt, Michael and Manu. I’ll post a couple of reviews: one for dev/drm (which is a straight remove) and one for dev/drm2 which requires some nuance. 19 | * Sway 20 | ** Defer to next meeting 21 | * Other open times from prior meetings carried over until next year 22 | * Jan 2nd meeting works for everybody, except Warner. Will advise if we need to reschedule. 23 | 24 | -------------------------------------------------------------------------------- /graphics/20190102.md: -------------------------------------------------------------------------------- 1 | # 2019-01-02: Agenda 2 | * Bumping LLVM version in mesa 3 | ** Will do local version and try to merge to quarterly branch. Next quarter we’ll use infrastructure version unless there’s issues. 4 | * Input stack 5 | ** Deferred until next meeting 6 | * Deorbit legacy drm in base 7 | ** Warner to send mail Jan 3rd to x11 proposing a Feb 1 removal of the “easy” stuff 8 | ** Feb 1: remove dev/drm and the parts of dev/drm2 not used by arm. Remove module makefiles entirely. 9 | * Sway 10 | ** Deferred until next meeting 11 | * Quarterly report 12 | ** Will work on over the next few days 13 | * Mesa 18.3 14 | ** Would like to see AMD system testing, will be a few days before we can do it 15 | ** Otherwise deferred until next meeting. 16 | # Attended: 17 | * Niclas Zeising (zeising@) 18 | * Warner Losh (imp@) 19 | -------------------------------------------------------------------------------- /graphics/20190116.md: -------------------------------------------------------------------------------- 1 | # 2019-01-16: Agenda 2 | * Bumping LLVM version in mesa 3 | ** Supposed to happens start of January, but has been delayed. 4 | ** Plan is to push the custom version for this quarterly branch and then migrate to the normal infrastructure quarter. This plan allows us to roll back if there’s something crazy currently-unknown problem. 5 | * Input stack 6 | ** Giant patch merged before new years. 7 | ** Latest version of libinput is 1.12.5, we have 1.12.4 in development repo. Niclas will update to 1.12.5, though it’s not as urgent as prior updates. 8 | ** Libudev-devd patches plus patches for epoll-shim library. We’ll need to update these to the latest snapshots. Niclas cutting releases instead of having a dated snapshot. 9 | ** Niclas started working on meson build infrastructure to get to know it, starting with the above items. 10 | ** Some discussions on mailing list with sway and wayland wrt input stack. It seems to be working great. Easier to configure in sway than in X. 11 | ** Pete to make a quick blog post on setup to try to get people using his setup for sway and our input stack. 12 | ** Add sysctls with device info for /dev/input/* stuff: https://reviews.freebsd.org/D18694 13 | * Sway 14 | ** Seems to be mostly working now. 15 | ** There’s some rough edges with the beta, but it’s in a good, usable state. 16 | ** Unsure if the crashes are due to FreeBSD specific issues, or if it’s generic. 17 | ** Worst problems around X11 - Wayland apps. 18 | ** Pete will test jan’s weston branch and gnome3 backends that use wayland rendering. 19 | ** Weston branch: https://gitlab.freedesktop.org/myfreeweb/weston.git 20 | * Deorbit legacy drm from base 21 | ** Warner to produce a phab review by Jan 21st 22 | * Quarterly report 23 | ** Due at the end of January 24 | ** Should update the outline before we turn the outline into human readable form 25 | * Drm kmod progress update 26 | ** Johannes Lundberg working on 4.20 last we heard. Changes required in base to get it running. Matt Macy still had the changes for 4.18 in flight, and then he’ll do more changes for 4.20. 27 | ** Depending on timing and size of 4.20 changes, we may do a 4.18 exp first as a stepping stone to get to 4.20. 4.16 has some stability issues that 4.18 addresses. https://reviews.freebsd.org/D18041 28 | ** Plan is to get 4.20 running as the experimental branch soon. It’s the first version with good big endian PowerPC support. 29 | * Mesa 18.3 30 | ** Niclas will update the repo so that packages are easier to build 31 | ** Good to get done soon 32 | * arm/arm64 33 | ** Good progress on drm by manu@ on arm64. Can run xorg server 34 | ** manu@ hopes to have something working on pinebook before fosdem 35 | ** Once driver is stable, they can cleanup code for release and integrate into the tree. 36 | * Documentation 37 | ** Ping form Ed Maste. Coop students had trouble installing the new drm stuff following the instructions in the handbook. 38 | ** There was a phab review that started to update things 39 | ** Will loop in bsddocs people as well as Ed’s coop students 40 | 41 | # Attended: 42 | * Niclas Zeising (zeising@) 43 | * Johannes Dieterich 44 | * Warner Losh (imp@) 45 | * Pete Wright 46 | * Manu Vadot (manu@) 47 | -------------------------------------------------------------------------------- /graphics/20190130.md: -------------------------------------------------------------------------------- 1 | # 2019-01-30: Agenda 2 | * Bumping LLVM version in mesa 3 | ** We’ll keep using a mesa specific LLVM define, and in the future move to the global ports tree one. 4 | ** Redoing work after unexpected ports tree changes. 5 | * Input stack 6 | ** Update libinput to 1.12.6. Will be pushed tomorrow or after FOSDEM. 7 | ** Updates to evdev: libudev-devd and epoll-shim 8 | ** need to be update. Will be pushed shortly after libinput. 9 | * Sway 10 | ** Deferred until next meeting 11 | * Deorbit legacy drm from base 12 | ** Diffs done, resolving phabricator issues to put into review. Timeline 1-2 weeks behind earlier published timeline. 13 | ** Everything except the TEGRA device needs will be removed. 14 | ** arm/arm64 future plans are firming up, will be discussed at FOSDEM and we’ll publish a report next meeting. 15 | * DRM kmod progress update 16 | ** Will defer for Johnness Lundberg’s input next time. 17 | ** Short version: 4.20 working in graphics FreeBSD source tree, 5.0 changes next, will consolidate changes for linuxkpi changes needed and upstream into base FreeBSD. 18 | * Quarterly report 19 | ** https://github.com/FreeBSDDesktop/freebsd-quarterly/blob/2018Q4/2018q4/graphics.md 20 | ** To be published tomorrow around noon UTC, get your updates in before them. 21 | * Documentation 22 | ** Defer until next meeting Pete has been busy IRL and not attending today. 23 | * PRs 24 | ** Lots of PRs. “DRM” in Bugzilla. Need to cleanup the ones that against the base system. Many can be closed, some are interesting. Category is inconsistent.. 25 | ** https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231354 26 | ** Need to consolidate between github graphics issue queue and the bugzilla PRs which are split between base and ports. Clear policy needed. Niclas to think through things and socialize ideas at FOSDEM. 27 | ** Need to audit the graphics ports for proper license since many PRs have it. 28 | ** Get guidance from portmgr on the really old, not quite regular, licenses from the x11 stuff. 29 | 30 | # Attended: 31 | * Niclas Zeising (zeising@) 32 | * Warner Losh (imp@) 33 | * Manu Vadot (manu@) 34 | -------------------------------------------------------------------------------- /graphics/20190213.md: -------------------------------------------------------------------------------- 1 | # 2019-02-13: Agenda 2 | * Deorbit drm from base 3 | ** Warner needs to get the review out. He’s been delayed by real life. 4 | ** The changes done, just needs to create a review. 5 | * Drm-legacy and current i386 6 | ** Haswell is the latest supported 7 | ** Fixed after kib’s latest changes (build breakage fixed) 8 | ** ttm broken by kib’s change (functional maybe? unclear) 9 | ** Graphics team has no way to test, reports that we have issues when the driver loaded. See x11 https://lists.freebsd.org/pipermail/freebsd-x11/2019-February/022754.html for details. Revert to pre-kib change fixes, it seems. 10 | ** Demand seems low for this based on testing to date. 11 | * DRM kmod progress update 12 | ** Not much progress, we’ll try to get 4.20 and 5.0 level going before too much. 13 | ** Once we’re building the latest, we’ll add it to the drm-exp-kmod as soon as the changes to base are in. 14 | ** Changes to base are still incomplete. 15 | ** Vmware working nice in 4.16, but has issues from 4.20 that need to be sorted out. 16 | * Quarterly report 17 | ** We’re done, waiting for things to be sent out. 18 | * Documentation 19 | ** Second documentation goal is to get a blog or wiki up for a working Sway configuration. Effort to dial in a set of env-vars and configs will need to be done before pushing out a full fledged blog post. 20 | * PRs 21 | ** Need to come up with clear guidance on where bugs go. It’s a bit of a mess now. Niclas will come up with guidelines for where to put which types of options. 22 | * CI 23 | ** Came up due to driver breakage. 24 | ** Niclas will talk to Li-Wen Hsu to get some level of CI to make sure we catch big breakage fast. 25 | * Input stack 26 | ** Pushed the latest a week ago, and Niclas hasn’t heard anything bad going on, so it must be working. 27 | ** We’ll need to do more work to support modern devices (but keyboard, mouse, trackpad, etc) are working. 28 | * Mesa regressions 29 | ** Pr235487 30 | ** Pr235203 31 | ** Plan is to tell people not to use the mode-setting driver since the other driver works. Won’t revert MESA updates over this. 32 | * Mesa 19.0 33 | ** Enable xatracker for vmwgfx (zeising on it) 34 | ** 19.0 rc3 was just released, so it’s not even released. Deferring until next meeting. 35 | * Xserver 1.20.3 36 | ** “Monster xorg update ticket”. Pete created a branch, got it building, but not stable. Issues are not well understood. He plans to rebuild everything in case it’s a built mismatch or something else. Will poll x11@ list. 37 | ** https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/xserver-1.20 38 | ** Original PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678 39 | ** Add more PCI IDs to drm 4.16. What’s been done? 40 | ** We shouldn’t add PCI IDs that aren’t upstream. Too risky. 41 | ** Will add comment to issue 122 and close the issue. 42 | ** https://github.com/FreeBSDDesktop/kms-drm/issues/122 43 | 44 | # Attended: 45 | * Niclas Zeising (zeising@) 46 | * Warner Losh (imp@) 47 | * Manu Vadot (manu@) 48 | * Pete Wright 49 | * Johannes Dieterich (jmd@) 50 | * Johannes Lundberg (johalun@) 51 | -------------------------------------------------------------------------------- /graphics/20190227.md: -------------------------------------------------------------------------------- 1 | # 2019-02-27: Agenda 2 | * Deorbit drm from base 3 | ** Committed, a couple of stray directories that need to be removed 4 | * DRM-legacy and current i386 5 | ** Drm-legacy-kmod has issues when PAE are enabled (which is the default) 6 | ** Nobody has reported they are working on it, workaround should be good. 7 | ** Add documented workaround to wiki. 8 | * DRM kmod progress update 9 | ** As for non-powerpc, v5.0 is looking good. 10 | ** v5.0-rc8 is running with a minor memory leak on i915kms, no problems on amdgpu. 11 | ** Changes to be committed to base are almost ready to be put on phabricator. 12 | ** Once needed changes are in base, we’ll add an experimental port to start wider testing by interested people. 13 | * Documentation 14 | ** Pete has got docbook up and running 15 | ** He’s read through the current docs, and has ideas for making it better 16 | * CI 17 | ** Li-Wen Hsu has something experimental setup to build the drm modules every day, at least, to ensure no surprise compile breakage. 18 | ** Ball is rolling, and should move to production in the next week or two. 19 | ** New mailing address / alias for build breakage. 20 | ** Maybe have CI integration for the gitter channel. 21 | ** KDE folks are using Jenkins based CI on a pair of FreeBSD machines to do KDE upstream regression testing. 22 | ** Libudev-devd and epoll-shim are using cirrus CI for build testing. 23 | * Mesa 1.19 24 | ** Still release candidate, no release yet 25 | ** Will add to development repo, but not yet 26 | * Xserver 1.20.4 27 | ** Updated development repo locally, but it broke. Plan is to work through that get the new version out to get freedback. 28 | ** KDE folks are running it and testing it there, as soon as possible 29 | ** Plan is to jump to 1.20 from 1.18. Maybe go via 1.19, but only if there’s too many regressions in 1.20. 30 | ** Enabling udev on 1.18 has helped. Do we want to make it a make option? It is a make option for the port, disabled by default (due to need a custom kernel). 31 | * ARM/ARM64 Update 32 | ** PINEBOOK work coming along, issues with HDMI 33 | ** manu@ hopes to present at AsiaBSDcon with his pinebook 34 | ** mmel@ has been implementing the needed linux compat hooks, including memory sharing between userland and current. Manu will rebase on top of this. https://github.com/strejda/drmlib/commits/master 35 | ** CMA in drm. Used on arm devices for non-dedicated memory. In upstream, this is gpl2 code, and we’re rewriting to be BSDL. 36 | * Shim to support hot plugging of USB devices. Linux has moved on to udisk2 (is this right?) 37 | ** it is bsd licensed and developed by arrowd@ https://bitbucket.org/arrowd/bsdisks/src 38 | # Attended: 39 | * Niclas Zeising (zeising@) 40 | * Warner Losh (imp@) 41 | * Manu Vadot (manu@) 42 | * Pete Wright 43 | * Johannes Dieterich (jmd@) 44 | * Tobias Berner (tcberner@) from KDE 45 | -------------------------------------------------------------------------------- /graphics/20190313.md: -------------------------------------------------------------------------------- 1 | # 2019-03-13: Agenda 2 | * DRM-legacy and current i386 3 | ** Fails with PAE. Need to update the wiki with the workaround to turn it off. 4 | * DRM kmod progress update 5 | ** Patches up on phabricator for Linux 5.0 6 | ** https://reviews.freebsd.org/D19565 7 | ** Also created a 4.16 / FreeBSD 13 branch of drm-kmod. 8 | ** These patches break drm-current-kmod, which need updating at the same time. 9 | ** Will try to figure out some way to ease the pain. 10 | ** V5.0 seem to solve amdgpu efi framebuffer problem (no need to disable syscons anymore). 11 | * Documentation 12 | ** Pete did a blog post on how to install the latest graphics stuff on to FreeBSD. 13 | ** Updating the blog post to docbook so we can add it to the handbook. 14 | * CI 15 | ** Nothing new. Niclas to ping FreeBSD CI team. 16 | * Meeting minutes 17 | ** Need to proof last two meetings. 18 | ** Once https://github.com/freebsd/meetings is up and running, we’ll publish there. 19 | * Quarterly report 20 | ** Niclas will create a new branch with the template so we can get a jump on next quarter’s report. Short OK, Pete will turn it into beautiful English. 21 | ** https://github.com/FreeBSDDesktop/freebsd-quarterly/blob/2019Q1/2019q1/graphics.md 22 | * Mesa - still in RC 23 | * Xserver 1.20.4 - still has issues with devd wrt autoconf, so build fails. Still root causing. 1.20.3 compiles great. Udev will fix this, but we need devd stuff for older releases. 24 | 25 | # Attended: 26 | * Niclas Zeising (zeising@) 27 | * Warner Losh (imp@) 28 | * Pete Wright 29 | * Johannes Lundberg (johalun@) 30 | -------------------------------------------------------------------------------- /graphics/20190327.md: -------------------------------------------------------------------------------- 1 | ### 2019-03-27: Agenda 2 | * DRM update 3 | * Suggestions implemented and reuploaded to phabricator 4 | * Drivers will define the linux KPI they want 5 | * We will support at most 2 versions 6 | * Warner to work with portmgr to see if there’s a faster pipeline for kmod package refresh to minimize time they are broken when we update linuxkpi... 7 | * Xserver 1.20.4 8 | * Working through the issues. Progress is being made, but it’s slow 9 | * Mesa 10 | * Niclas has a patch to do the update 11 | * Niclas needs to do some basic testing, but will then send out a call for testing 12 | * New port for libxatracker (debian has this)? This is required by vmware drm driver and is a part of mesa source code. It’s the only thing missing to have vmwgfx driver working. 13 | * Port of the mesa source code 14 | * Before Christmas there were issues, but perhaps they have been resolved 15 | * Niclas to revisit to see what the current state is, what versions are supported, etc. 16 | * CI 17 | * Li-Wen hoping to setup the drm builds to help us keep from breaking things. 18 | * Q1 2019 report 19 | * Please add items to current branch in github. Niclas or Pete will turn the vague things into beautiful prose. 20 | * Next meeting moves to UTC 1800 to cope with Daylight Savings Time in EU. 21 | -------------------------------------------------------------------------------- /graphics/20190424.md: -------------------------------------------------------------------------------- 1 | ### 2019-04-24: Agenda 2 | * kde@ will try to work on a network-configuration framework 3 | * Looking at (simple) project management tools 4 | * [https://kanbanflow.com/](https://kanbanflow.com/) 5 | * Github also has a kanban [https://github.com/orgs/FreeBSDDesktop/projects/1](https://github.com/orgs/FreeBSDDesktop/projects/1) 6 | -------------------------------------------------------------------------------- /graphics/20190508.md: -------------------------------------------------------------------------------- 1 | ### 2019-05-08: Agenda 2 | * DRM regressions in current 3 | * Broke compile time, then runtime. 4 | * Fix has been committed to -current 5 | * MAINTAINERS triggers bikeshed :) #x11 group in phabricator 6 | * CI unlikely to have caught this: had to actually run it and the hang / lockup was random (minutes to hours to the lockup) 7 | * No MFC likely, but we have no process in place for notifications 8 | * Drm-kmod update 9 | * Fixed the debugfs stuff to get a GPU printout with the GPU hung, but the rest of the system is OK. 10 | * Johannes to do a blog post for how to mount it and debug. 11 | * Linux 5.0 update is coming along. 12 | * Some linuxkpi changes needed (especially to the linux tasks) and hps wants to ensure MLX drivers aren’t adversely affected. 13 | * More testing for 5.0 needed, but due to pending linuxkpi changes to FreeBSD, wider testing difficult. 14 | * Should we invite hps from time to time. 15 | * Legacy stuff must be working, we have no reports of bugs 16 | * Kanbanflow 17 | * Online kanban flow to track issues 18 | * Invites have have been sent, working through issues, will share feedback in 2 weeks 19 | * Xserver 1.20 20 | * Pete has been working on this for a bit. It builds and changes are in graphics port’s repo on github. 21 | * No updates from the last time. Still untested. 22 | * Someone reported a bug that seem to be solved with newer Xorg. 23 | * Open Questions 24 | * Udev backend? Likely default in 12 and 13 25 | * Devd backend? Retain on 11. 26 | * Oh, and it needs testing. 27 | * CI 28 | * Patch has been merged to run more branches in CI 29 | * Niclas will make patches to ensure we have complete coverage of all the currently supported branches. 30 | * Building with kernel 31 | * Port written, needs to be tested. No progress due to higher priority items in Niclas’ world. 32 | * Q1 2019 Status report 33 | * It didn’t happen, Niclas had no time, so it didn’t happen. 34 | * Summary: just treading water. Nothing new. 35 | * Goal: Make a Q2 report that covers both Q1 and Q2 36 | * Niclas will create a branch that has a template for us to use to report status in Q2. He’ll massage the content, so it needn’t have complete sentences. 37 | * Documentation 38 | * Defer until next time since Pete isn’t here to report status on his updates to the handbook. 39 | 40 | Attended: 41 | * Johannes Lundberg 42 | * Warner Losh 43 | * Tobias Berner 44 | * Niclas Zeising 45 | -------------------------------------------------------------------------------- /graphics/20190522.md: -------------------------------------------------------------------------------- 1 | ### 2019-05-22: Agenda 2 | * 11.3 Release: what do we need to do to support it? 11.3 scheduled for July 9th, but we should aim to resolve all issues by June 5. No changes as far as linuxkpi/drm drivers go. Just make sure everything works. 3 | * Build usb memstick test images for wider testing. 4 | * Debate between using the first beta image and rolling our own poudriere image. 5 | * Documentation 6 | * Update the handbook to reflect latest docs. 7 | * 11.3 a good target for doing this 8 | * Pete and Ed’s intern may be able to help. 9 | * Drm-kmod update 10 | * All patches for 5.0 committed to head and all will be MFCd to stable/12 within a few days. 11 | * Drm-devel-kmod port created 12 | * Make 5.0 default for 12.1 and CURRENT once regarded stable enough. 13 | * Decision date for 5.0 in 12.1 release at September 1. 14 | * Prepare for update to linux 5.2 which includes the virtualbox drm driver. 15 | * Make 5.0 default in -current by late June to allow proper testing 16 | * 5.0 regressions 17 | * Virtual console does not repaint after loading i915kms (but repaints at vt switch). Only Niclas laptop reported so far. Johannes will take a look. 18 | * I2C touchpad suspend/resume issues 19 | * [https://reviews.freebsd.org/D16698](https://reviews.freebsd.org/D16698) 20 | * Try reset ig4 controller at resume 21 | * Xorg 1.20 22 | * Johannes tested on amd system. Compiled with UDEV backend it works great. Mouse not working with DEVD backend. 23 | * Libxatracker 24 | * Get port committed [https://reviews.freebsd.org/D20153](https://reviews.freebsd.org/D20153) 25 | * Johannes will commit if someone gives approval 26 | 27 | Attended 28 | * Johannes Lundberg 29 | * Warner Losh 30 | * Niclas Zeising 31 | -------------------------------------------------------------------------------- /graphics/20190612.md: -------------------------------------------------------------------------------- 1 | ### 2019-06-12 2 | * 11.3 release 3 | * Johannes are working on creating images for testing. Will create one for 11.3 for testing to make sure there’s no regressions. 4 | * Live USB images for testing 5 | * Still work in progress 6 | * The images needs 16GB USB memory sticks. 7 | * [https://people.freebsd.org/~johalun/](https://people.freebsd.org/~johalun/) 8 | * We’ll try to find a way to build the images in the FreeBSD cluster 9 | * Drm-kmod on 12.1 10 | * Packages are built on the lowest common, meaning packages for 12.1 will be built on 12.0. This means that a 5.0 based drm kmod won’t build, and we have to make sure 4.16 keeps building on 12.1. 11 | * Evaluate if we can create a drm-v5.0-fbsd12.1 branch with lindebugfs stuff reverted that will be available only from ports. 12 | * 5.0 regressions 13 | * Amdgpu: waiting for mmacy 14 | * Drm: vt only redraws when switching vt. 15 | * Mesa llvm80 16 | * Work in progress, to be published on github and tested. 17 | * Libxatracker 18 | * [https://reviews.freebsd.org/D20153](https://reviews.freebsd.org/D20153) 19 | * Documentation 20 | * Pete will ping Benedict regarding testing ASCIIDOC 21 | * Will prep some minor updates if migration away from docbook is too long 22 | * Quarterly report 23 | -------------------------------------------------------------------------------- /graphics/20190626.md: -------------------------------------------------------------------------------- 1 | ### 2019-06-26 2 | * 11.3 release 3 | * Issues downloading the images 4 | * Johannes L tried the RC1 image, that works with drm-fbsd11.2-kmod, we’re good for 11.3. 5 | * VirtualBox drm driver 6 | * Vboxvideo from virtualbox port does not build from Xorg 1.19+. Seems like they switched to the in kernel drm driver. Initial port done in drm-v5.0 branch. Same problem as vmware, vt does not refresh when typing, only when switching. X with modesetting and Wayland (Sway) ok-ish. 7 | * Reach out to virtualbox maintainers about the situation before we push xserver 1.20. 8 | * Look at ports change to tie in the ports local stuff so kernel rebuilds rebuild the port… 9 | * Wayland support in FreeBSD 10 | * Sway working OK, but X apps run inside that don’t work 11 | * One issue is logind / systemd interface (myfreeweb working on logind shim?) 12 | * AMD / Radeon still supporting X11 13 | * Libxatracker 14 | * Committed. 15 | * Drm 5.0 16 | * Lots of low hanging fruit here but not much progress lately. Changes at $work takes up lots of time. 17 | * Pete has been testing. Some folks find it works perfectly, others have issues. 18 | * Plan is to get 5.0 mostly finished before specializing for different FreeBSD versions. 19 | * Mesa-llvm80 20 | * One error but most things look great. 21 | * A number of changes need to be upstreamed 22 | * Getting close to being done. Will update llvm80 branch soon. 23 | * FreeBSD testing by GPU vendors 24 | * What would be useful today? 25 | * What would we want in the future 26 | * Trying to bring up the Intel GPU test suite 27 | * https://gitlab.freedesktop.org/drm/igt-gpu-tools#igt-gpu-tools 28 | * Documentation 29 | * Pete still needs to reach out to Benedict regarding ASCIIDOC 30 | * Works in progress 31 | * Libdrm needs stuff upstreamed -- FreeDesktop.org folks are easy to work with 32 | * Big infrastructure set of changes to improve xorg support inside of ports - https://reviews.freebsd.org/D20724 33 | * Should have time to update mesa port and then xorg server 1.20 34 | * Lots of applications and xorg libraries have been updated 35 | * Xwayland requires a more recent xorg server 36 | * Xorg patch set getting unwieldy 37 | * most of it devd related (autotools related, makes it hard) 38 | * Moving to epoll/udev shims should help a lot 39 | * Should get rid of devd stuff since epoll/udev support since all recent versions use it (though we may need it for 11.3 and 12.0 still). 40 | * Update for xdm in one of the branches (7 years of changes from upstream) 41 | * https://github.com/FreeBSDDesktop/freebsd-ports/commit/780183a437c5ecc8fbf2e841a20c2900a7bc01ed 42 | * VT refresh in virtual machines. 43 | 44 | Attended 45 | * Johannes Lundberg 46 | * Warner Losh 47 | * Niclas Zeising 48 | * Pete Wright 49 | * Scott Long 50 | * Johannes Dietrich 51 | -------------------------------------------------------------------------------- /graphics/20190703.md: -------------------------------------------------------------------------------- 1 | ### 2019-07-03 2 | * 11.3 release 3 | * Builds start Friday. We’re done. 4 | * Virtualbox DRM driver 5 | * No new update 6 | * Mesa and llvm 7 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238906](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238906) 8 | * Pushed to use Mesa 18 and using ports system for llvm compiler 9 | * LLVM is a hard requirement for radeonsi and amdgpu drivers, we won’t make it optional. 10 | * Wayland support 11 | * Need new xorg to fix the issues with X clients not showing up in wayland. 12 | * Logind parts are missing to do xdm and similar login managers 13 | * Open Review for FreeBSD/KDE: [https://reviews.freebsd.org/D18754](https://reviews.freebsd.org/D18754) 14 | * Consolekit support, ideally we’ll use this 15 | * Logind is part of systemd, so we’ll need to look into the dbus interface if consolekit doesn’t work out 16 | * Investigate what xfce4-session-manager uses for session management. CK? 17 | * Sddm (qt based desktop manager) can launch wayland sessions 18 | * Drm 5.0 19 | * No updates 20 | * Memory leaks in i915kms.ko 21 | * [https://github.com/FreeBSDDesktop/kms-drm/issues/155](https://github.com/FreeBSDDesktop/kms-drm/issues/155) 22 | * Ask OP what software he’s running. Could be using a not commonly used API that cause the leak (userptr?). 23 | * Documentation 24 | * Update the Q2 status report skeleton \ 25 | [https://github.com/FreeBSDDesktop/freebsd-quarterly/blob/2019Q2/2019q2/graphics.md](https://github.com/FreeBSDDesktop/freebsd-quarterly/blob/2019Q2/2019q2/graphics.md) 26 | * 27 | * Works in progress 28 | * 5.0 work progressing. Debugfs is taking extra time, we’ll put that aside for a minute. 29 | * Once we have 5.0 done, Johannes wants to take some time to catch up on minor issues and take a quick break from chasing the latest Linux. 30 | * Do the finishing touches on the live usb image build scripts. 31 | * Niclas is working on resolving the libXi issues 32 | * Group looking at how to use kanbanflow to keep track of everything going on. 33 | * Fallout from libXi update 34 | * A few minor ports were broken by this updated. Niclas looking into them. 35 | * Convert meeting notes to markdown and upload 36 | * Postponed to this weekend due to $LIFE happening 37 | * Kanbanflow 38 | * Some KDE Bug reports might be driver related: 39 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237277](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237277) 40 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237662](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237662) 41 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234132](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234132) 42 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235195](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235195) 43 | * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223638 44 | -------------------------------------------------------------------------------- /graphics/20190717.md: -------------------------------------------------------------------------------- 1 | ### 2019-07-17 2 | * armv7/arm64 status 3 | * Working on getting linux red black tree code in for port 4 | * Drm export module provides additional glue based on a fork of linux kpi 5 | * Building BSDL versions of GPLd stuff in drm. Rewrote all the GPL code to have BSDL license. 6 | * Manu to commit driver allwinner to support drm for on-chip video 7 | * Michael to commit nvidia tegra updates for on-chip video 8 | * Johannes and HPS to review this stuff 9 | * Greg at unrelenting patches for PCI video to use device memory [https://reviews.freebsd.org/D20789](https://meet.google.com/linkredirect?authuser=1&dest=https%3A%2F%2Freviews.freebsd.org%2FD20789) and it’s ready to go 10 | * Greg is working on PCIe video cards on arm apart from on-chip video 11 | * Freedesktop.org CI for FreeBSD 12 | * This is our upstream for xorg and wayland stuff 13 | * Use gitlab and other things for CI 14 | * Talk about adding FreeBSD to their CI 15 | * For Linux CI they use docker 16 | * Support for running inside of a QEMU instance in gitlab 17 | * No tooling to support flavoring our official qemu image (there’s no cloud-init). Sshd and serial console aren’t enabled by default, which causes logistical issues in integration. 18 | * Tool needs to run on Linux to flavor the image or boot things. 19 | * Freedesktop CI already does a lot of things for Linux, and they’d like to do similar for FreeBSD. 20 | * Pointers from KDE upstream’s CI: The tooling used for the jenkins building: [https://invent.kde.org/sysadmin/ci-tooling](https://invent.kde.org/sysadmin/ci-tooling) / jenkins: https://build.kde.org / doc: [https://community.kde.org/Infrastructure/Continuous_Integration_System](https://community.kde.org/Infrastructure/Continuous_Integration_System) 21 | * KDE CI uses custom FreeBSD installs that we manage ourselves (I think hosted on digital ocean, or Hetzner...). 22 | * Wayland support 23 | * POSIX posix_fallocate(2) doesn’t work on ZFS file system, so we have patches in a github branch to workaround the issue. 24 | * [https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/wayland/graphics/wayland](https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/wayland/graphics/wayland) 25 | * Working on porting the compositor Weston. 3.x ported, but not functional. Started again on 6.0. 26 | * https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/wayland/x11-wm/weston 27 | * DRM 5.0 28 | * Nothing new to report 29 | * Memory leaks in i915kms.ko 30 | * [https://github.com/FreeBSDDesktop/kms-drm/issues/155](https://github.com/FreeBSDDesktop/kms-drm/issues/155) 31 | * Last known issue has been solved 32 | * Radeonkms panics 33 | * [https://github.com/FreeBSDDesktop/kms-drm/issues/159](https://github.com/FreeBSDDesktop/kms-drm/issues/159) 34 | * [https://github.com/FreeBSDDesktop/kms-drm/issues/149](https://github.com/FreeBSDDesktop/kms-drm/issues/149) 35 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237544](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237544) 36 | * Bump it up on the todo list (Johannes) 37 | * Documentation 38 | * Quarterly report -- please add your things 39 | * Should have the report done and review in 2 weeks at next meeting, but should be almost final version before the meeting starts 40 | * Kanbanflow 41 | * Migrate to using this for tracking work in progress and other internal items poorly matched to open issues on github. Talk to johannes for an invitation. 42 | * WIPs 43 | * Porting Weston (issue with redraw) 44 | * Xdm update (conversion to xorg ports infrastructure) 45 | * Wayland update 46 | * Libdrm update (reports of it working, Niclas to verify first hand and update) 47 | * Coming soon: mesa and llvm 90 48 | -------------------------------------------------------------------------------- /graphics/20190731.md: -------------------------------------------------------------------------------- 1 | ### 2019-07-31 2 | * Should we loop around fhold, or is there a better solution? 3 | * Kib didn’t have any remarks about current implementation. 4 | * Libpciaccess regressions 5 | * Function to check if pci driver is attached was added. This now cause problem with vgapci which is always attached. Need special treatment for this case and check if vgapci bus has any children. 6 | * Install kernel module sources 7 | * [https://reviews.freebsd.org/D20990](https://reviews.freebsd.org/D20990) 8 | * [https://reviews.freebsd.org/D20992](https://reviews.freebsd.org/D20992) 9 | * Q2 report 10 | * Report is in, and pull request made. 11 | * Still time to review and make changes if needed. 12 | * DRM/linuxkpi 13 | * Patches to enable MSI, powerpc support and other improvements ready to land soon. Hps is reviewing. 14 | * [https://reviews.freebsd.org/D21008](https://reviews.freebsd.org/D21008) (MSI) 15 | * [https://reviews.freebsd.org/D21096 (powerpc)](https://reviews.freebsd.org/D21096) 16 | * 17 | * Kernel config options for building out of tree modules 18 | * How can we build modules with same configuration as the running kernel? Install a config.h with kernel install? 19 | * Update libclc to 4.0 20 | * Review D21019 21 | -------------------------------------------------------------------------------- /graphics/20190814.md: -------------------------------------------------------------------------------- 1 | ### 2019-08-14 - Cancelled 2 | * Build ports kmods with src 3 | * Intel CI and graphics drivers 4 | -------------------------------------------------------------------------------- /graphics/20190911.md: -------------------------------------------------------------------------------- 1 | ### 2019-09-11 2 | * Which DRM version to ship with 12.1R 3 | * Currently linux 4.16 is the only version for stable/12 (same as 12.0R) 4 | * The changes needed for linux 5.0 drivers have been merged, but with one exception. To cope with the exception, we’ll fork linux 5.0 branch to create a 12.1R specific branch. 5 | * 5.0 hasn’t been made the default yet. 12.1 R is scheduled for Nov 4, 2019. 6 | * Given the timelines, the plan is to leave 4.16 the default for 12.1R, but create a linux 5.0 port which could give us time to get it tested. Should make 5.0 the default soon as well. 7 | * Sometimes virtual console don’t update properly on internal displays. External displays are fine (only known issue with 5.0R). So far only run on Intel hardware. 8 | * Niclas hopes to get the time to move drm-current-kmod to 5.0, as well as test it on hardware. Will validate the src LOCAL_MODULES stuff still works. Weekend at the earliest. 9 | * Will run for a few weeks on 5.0 and make a decision about 12.1R (most likely, it will not become the default). 10 | * Johannes has a commit needed for the drm branch to cope with the MFC of his changes into stable/12. 11 | * Building ports kmods with src (kernel) aka LOCAL_MODULES 12 | * Had some unexpected problems during cross builds. 13 | * Only solves half the problem regarding disconnect between base and port kmods 14 | * Modules built with kernel has a race case if you’ve not updated: kernel sources could be too old for new packages, or old packages may have issues with newer kernels. Resolution TBD. 15 | * Won’t be in 12.1R. 16 | * How can we solve the base <> ports kmod disconnect that cause a lot of headache. 17 | * Can external kmods’ source be fetched/updated and built automatically on kernel build, bypassing ports completely? 18 | * Or, similarly to DKMS, build the kmod from source on ‘pkg install’. 19 | * Nvidia driver has similar issues… It too breaks from time to time and needs a seemless solution. 20 | * And probably virtualbox too... 21 | * Move to remove xorg ports that have been deprecated upstream. Easy to remove, but also easy to bring back if there’s demand. 22 | * Looking at xorg modules upstream that aren’t yet FreeBSD ports. 23 | * Updated a number of applications and libraries that have been released. 24 | * Future work: look at MESA using llvm 9 and newer versions of MESA. Large tasks and not easily done in small chunks. Pete and Niclas to look into that. 25 | * Continued to triage PRs. 26 | * Need to find ways to reduce the load of tracking upstream works in progress. Will investigate ways to pull from xdesktop’s gitlab or other ways. 27 | * Wayland upgrade is stalled due to regression. Also need to have a more considered discussion about logind, but that requires new functionality in base. 28 | -------------------------------------------------------------------------------- /graphics/20190925.md: -------------------------------------------------------------------------------- 1 | ### 2019-09-25 2 | * 12.1R driver compatibility 3 | * Recent issue with 4.16-kmod built on 12.0 crash on 12.1 should now have been fixed in revision=352418. 4 | * drm-fbsd12.1-kmod port? For v4.16 we can use same as 12.0. For v5.0 we have [https://github.com/FreeBSDDesktop/kms-drm/tree/drm-v5.0-fbsd12.1](https://github.com/FreeBSDDesktop/kms-drm/tree/drm-v5.0-fbsd12.1) 5 | * Jenkins 6 | * Johannes L is now building all supported combinations of arch/drm-branch/fbsd-branch every 3 hours. Plan to move to proper build infra eventually. [https://people.freebsd.org/~johalun/drmlogs/](https://people.freebsd.org/~johalun/drmlogs/) 7 | * Eventually we’ll integrate it with both FreeDesktop.org and FreeBSD.org’s CI efforts once this becomes mature. 8 | * Upgrade x11/libXvMC to 1.0.12 9 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240801](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240801) 10 | * Kernel source building 11 | * Jhb and Warner talked about ways for making it better. John suggested tight integration with git to allow the best possible experience. John said he’d prototype something and we’ll talk in the next week or so. For the moment we’ll keep the defaults as they are on current. 12 | * Some regressions are happening with 5.0 branch for different hardware. (drm-current-kmod). 13 | * Broken updates of VT terminals (needs to be solved before we update the default) (try sysctl compat.linuxkpi.i915_enable_fbc=0, i915_enable_psr=X, ) 14 | * AMDGPU issues for some people, but not others (more prominent notice for loader.conf settings needed). 15 | * Loader.conf var: `hw.syscons.disable=1` 16 | * Still more testing needed to sort out the issues 17 | * Xorg update 1.20 18 | * Have branch in github to do the update 19 | * Working on updating the patches we have upstreamed 20 | * Fell down a rabbit hole of continuing to support FreeBSD 2.2.8 (yes, 2.2.8). 21 | * Some issues are known or suspected, so more testing and refinement is needed. 22 | * Have our own devd backend and we may need to refine it to continue to work with 1.20. 23 | * Considering using udev instead of devd backend. 24 | * Llvm90 25 | * Not yet safe to upgrade. 26 | * Lots of fallout that needs to be understood better. 27 | * Binary packages may be broken. 28 | * Unsure what to do about the sudden breakage situation. 29 | -------------------------------------------------------------------------------- /graphics/20191009.md: -------------------------------------------------------------------------------- 1 | ### 2019-10-09 *PRELIMINARY* 2 | * Linux DRM 5.0 branch for 12.1R is done, no port created yet (LLVM cleanup) 3 | * Niclas to move it up 4 | * Jenkins stuff has caught a build breakage. Coincidentally, right after the last issue. (opt_epoch.h) 5 | * Jenkins didn’t catch vm changes causing panic drm-current-kmod (since fixed) 6 | * Jenkins is build-time not run-time (yet) 7 | * Future work: smoke test loading drm module (ideally in FreeBSD CI) 8 | * Can we use FreeBSD official VM images to test load modules? Do they come with ssh login ready? 9 | * Kernel source building: we disable on cross builds 10 | * Still have issue with /boot/module vs /boot/kernel when things build after install 11 | * Conflict between module updating from pkg vs src build. 12 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240915](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240915) 13 | * Pilot error, but maybe one we need to guard against 14 | * Warner will look at the bug after the meeting 15 | * Warner to talk to John Baldwin on Friday about better ways to cope with this issue. 16 | * libx11 and libxvmc updates are pending 17 | * Both are done, but other updates needed to xorgproto later in the month 18 | * Need to remove deprecated items for xorg proto to go in (lots of legacy sutff must be removed for the update to libx11 and libxvmc since the legacy stuff is in the way). 19 | * Lots of deprecated stuff was removed Oct 1st. The rest of the stuff will be removed in Nov 1st. All this stuff is still in quaterly branch. 20 | * Xorg update (nothing to report, apart from deprecation efforts) 21 | * Llvm90 update happened 22 | * All mesa ports back at llvm80 due to large number of regressions. 23 | * Mesa upstream isn’t ready for llvm 90 24 | * MESA 19.0 25 | * Branch on github 26 | * Something like 19.0.8 (last version with autotools) 27 | * Next version will have ‘meson’ and other things that will take a while to get going. 28 | * Current port split a poor match to new meson system 29 | * Lots of trickery to split out the different parts of Mesa done for autotools, but not for meson yet. 30 | * Need to investigate whether it’s better to merge all mesa stuff into one port, or to do the work to maintain the current split. Unclear what the best path forward is. 31 | * [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240964](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240964) x11-toolkits/qt5-gui 32 | * Should just use 33 | * Could also fix using header guards, but just using linux/input.h is better 34 | * Solution: Revert: 35 | 36 | https://github.com/qt/qtbase/commit/e6d0d202f3c3f296b6865a63d87a7c9182b63ae2. 37 | 38 | * No work done on updating drm modules past Linux 5.0. 39 | * Need to improve the ease with which we configure VM images. 40 | 41 | Attending: Warner Losh, Niclas Zeising, Tobias Berner, Johannes Lundberg 42 | -------------------------------------------------------------------------------- /graphics/20210712.md: -------------------------------------------------------------------------------- 1 | # 2021-07-12 Graphics Meeting Notes 2 | 3 | Restarting the note taking for the meeetings 4 | 5 | Attendees: Emmanuel Vadot, Niclas Zeising, Tobias Berner, Adriaan de Groot, Warner Losh 6 | 7 | - ast driver changes - landed and reporter confirmed working. 8 | - New Xorg server has a new development snapshot for 1.21 9 | - Preview release out 10 | - Unclear if there will be a proper release or just snapshots 11 | - New PRs with old bugs, old PRs with new comments 12 | - libdrm / mesa update 13 | - Manu has update ready for both of these 14 | - briefly tested today, lightly testing 15 | - Updating reviews as manu finds/fixes bugs 16 | - Hope to commit early next week 17 | - Need to cleanup some issues wrt drm driver 18 | - Want subpackages so we can avoid double compiles, poudriere folks have some issues they are ironing out before it goes in. 19 | - Plan to give people the weekend to test before committing next week. 20 | - https://reviews.freebsd.org/D31003 21 | - https://reviews.freebsd.org/D31165 22 | - drm 5.5 driver has landed 23 | - Had for a year, but only working on amd gpu 24 | - Wulf finished bits for linuxkpi and drm parts 25 | - drm-devel has been updated 26 | - some issues have been reported with amd gpu 27 | - otoh, some reports of newly working hardware 28 | - We were on 5.4 LTS and hope to eventually transition to 5.10 LTS 29 | - 5.5 is next step towards that goal 30 | - OpenBSD simplifies a lot of things by avoiding linuxkpi and/or not dealing with SMP aspects. 31 | - A big issue moving forward is that starting in 5.6, drivers require the ability to partially map a buffer, which we don't yet have support for in linuxkpi. 32 | - Experimental efforts for 5.6 and 5.7 stalled on needing that functionality. 33 | - Manu's currently planning time for this work in August 34 | - kde status: everything is broken and it's Adriaan's Fault. 35 | - he's fixing the dependencies so that build and testing dependencies aren't installed unnecessarily. 36 | - https://xkcd.com/1172/ must be avoided :) 37 | - Turtle can't speak Albanian 38 | - Upside is that the dependency tree is much smaller which helps all the FreeBSD live systems. (Alex, HelloSystems) 39 | 40 | -------------------------------------------------------------------------------- /graphics/20210726.md: -------------------------------------------------------------------------------- 1 | # 2021-07-26 Graphics Team Meeting Notes 2 | 3 | Attendees: Niclas Zeising (zeising@), Tobias Berner (tcberner@), Emmanuel Vadot (manu@) 4 | 5 | - mesa 21.1.5: broken on FreeBSD 11.4. Fix exists, requires testing, pr [257305](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257305). 6 | - issue on powerpc fixed by Piotr Kubaj (pkubaj@) 7 | - question crocus pr [257335](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257335), only for mesa-devel. Crocus is not the default in mesa 21.2. 8 | - new xorg version [1.20.12](https://lists.x.org/archives/xorg-announce/2021-July/003098.html) 9 | - just needs patching and runtime testing 10 | - easy [tm] 11 | - nvidia drivers require some headers possibly (probably bad idea, because of unkonwn side-effects) 12 | - manu will handle communication with ashafer from nVidia. 13 | - providing headers as a package is feasible once we have sub-package support 14 | - One report of font rendering issues on i386 on FreeBSD 12.2 with radeonkms pr [252924](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252924) 15 | - probably nothing we can do, the GPU is old, and i386 is best effort. 16 | - Niclas has replied in the PR. 17 | -------------------------------------------------------------------------------- /graphics/20210809.md: -------------------------------------------------------------------------------- 1 | # 2021-08-09 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Niclas Zeising (zeising@), Warner Losh (bsdimp@) 4 | 5 | - Review [D31465 - Make libglvnd a LIB_DEPEND in various usages](https://reviews.freebsd.org/D31465) 6 | - Need to make sure the dependencies are sane after this change 7 | - Manu should review to make sure things are the right way around 8 | - mesa-devel and mesa-libs switches from having a build dependency to library dependency 9 | - Need to do poudriere bulk to make sure things build and there's no surprise dependencies 10 | - Seems like it might be OK, but there's a number of non-obvious issues manu@ will want to comment on as to why it's the way it is today. 11 | - xorg update still pending... team is on European Holiday 12 | - Patch for nvidia driver Danfe is taking care of [257456](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257456) 13 | -------------------------------------------------------------------------------- /graphics/20210823.md: -------------------------------------------------------------------------------- 1 | # 2021-08-23 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Warner Losh (bsdimp@) 4 | 5 | - **TO DISCUSS**: how to monitor directories effectively 6 | - opening all files in ~ can be too much 7 | - a better monitoring solution for files is required that does not need opening individual files 8 | - also blocked umounting (maybe solved by using O_PATH) 9 | - Steps to take: open PR for kqueue/kevent 10 | - [PR 258010](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258010) 11 | - probably foundation should get involved and found development (read: pay kib to do it) 12 | -------------------------------------------------------------------------------- /graphics/20210906.md: -------------------------------------------------------------------------------- 1 | # 2021-09-06 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Niclas Zeising (zeising@), Warner Losh (bsdimp@), Adriaan de Groot (adridg@) 4 | 5 | - tcberner@ will prepare the xorg-server update 6 | -------------------------------------------------------------------------------- /graphics/20210920.md: -------------------------------------------------------------------------------- 1 | # 2021-09-20 Graphics Team Meeting Notes 2 | Attendees: Tobias Berner (tcberner@), Niclas Zeising (zeising@), Warner Losh (bsdimp@), Adriaan de Groot (adridg@) 3 | 4 | - Pulseaudio and Pipewire is what's interesting now 5 | - Pulseaudio is working and bugs closed 6 | - Pipewire isn't working quite right with with chrome (www/qt5-webengine requires libpipewire-0.20, we have 0.3x in ports) 7 | - Developed with Wayland in mind (need pipewire to do screen sharing, etc) 8 | - KDE wants a newer pipewire than chromium wants 9 | - Version updates are in progress (need two versions: one for KDE and one for webengine) 10 | - Chromium needs / wants newest pipewire (unsure if this means not enabled or silently bundled) 11 | - X11 PRs 12 | - libwacom building with llvm13: it's doing weird things 13 | - Minor updates 14 | - wayland updates in progress (assigned to portmgr) 15 | - Waiting for exp run to finish 16 | - wayland protocol update fine 17 | - complaint that pure UEFI mode isn't working with xorg. Likely a documentation bug. 18 | - Another one that's a known issue 19 | - Need to have a PR scrub and maybe a bug-a-thon to fix the known issues and/or document known problems. 20 | - Desktop PRs 21 | - fontconfig is next up for Adriaan 22 | - Need hook into the pkg triggers for running the pkg trigger script when we install a font. 23 | - Waiting on pkg triggers to be allowed into tree 24 | -------------------------------------------------------------------------------- /graphics/20211003.md: -------------------------------------------------------------------------------- 1 | # 2021-10-03 Graphics Team Meeting Notes 2 | 3 | Attendeeds: Tobias Berner (tcberner@), Warner Losh (bsdimp@), Adriaan de Groot (adridg@), Kevin Bowling 4 | 5 | - libinput: KDE upstream would like 1.19.x for the upcoming release -- port is still at 1.16.4. 6 | - adridg@ will create a PR, and set "Maintainer Feedback?" flag 7 | - seems to be no reason for the holdback on 1.16 8 | - Fails in patching when bumped to 1.19.x (problem is in shebang files, adridg@ on it) 9 | - fontconfig is still on the todo for adridg@ 10 | - xorg-server update is still on the todo of tcberner@ 11 | - kde now uses gitlab CI, more FreeBSD systems in KDE upstream (now FreeBSD 13, previously 12) 12 | - Wayland not working in 13 and 14 13 | - adridg@ will take look at it 14 | - PR to make dbus optional 15 | - Very foot shooty 16 | - Having the option is fine, so long as it doesn't break other ports 17 | - Bindary nvidia driver - kbowling 18 | - Suspend / resume working with it 19 | - Suspends fine, resume fails with ACPI error (card not back in D0 state) 20 | - Hooks for all this in sources we have for binary driver 21 | -------------------------------------------------------------------------------- /graphics/20211018.md: -------------------------------------------------------------------------------- 1 | # 2021-10-18 Graphics Team Meeting Notes 2 | Attendees: Tobias Berner (tcberner@), Warner Losh (bsdimp@), Niclas Zeising (zeising@), Emmanuel Vadot (manu@) 3 | 4 | - Update for X server update 5 | - Only portrevision nit. 6 | - Mesa 21.3 is last of the 21 series 7 | - Manu waiting for it to become final 8 | - drmkmod 9 | - thanks to Wulf we have 5.6 that's almost ready 10 | - 5.6.16 or 5.6.17 level 11 | - suspend / resume broken for amd laptop 12 | - amd is a mess, so bisection hard (problems fixes introduce regressions) 13 | - Kaby Lake suspend / resume broken traced to a single commit 14 | - Lots of cleanup on linux kpi directory 15 | - split include directory to have gpl and bsd licensed files separated 16 | - may do that c files too 17 | - Bump libclc level (llvm10->llvm11) 18 | - OpenCL may be broken with llvm11 patch 19 | - Updating to llvm12 in progress 20 | - Jan Beich created flavored version for SPIRV llvm11 needed for intel GPUs (spirv-llvm-translator) 21 | - Update graphics firmware to be flavorized so it's one per GPU type and generation [D32497](https://reviews.freebsd.org/D32497) 22 | - Default is that you'll get all the firmware, like before (though it's big 250MB due to AMD GPU firmware count) 23 | - But you can install just the thing you need, if you know what that is 24 | - drm port requires only a few things, so we'll keep it unified. 25 | - Desktop and KDE Land 26 | - Things are generally good 27 | - Breakage on -current for a short time due to unconditional linux header (since fixed) 28 | - libinput updated (Adriaan did the update to 1.19) 29 | - Qt stopped supporting Qt5. KDE has a bunch of patches on top of our patches for KDE Qt patch collection. 30 | - Requests to make dbus optional, but there be dragons when enabled 31 | - Is quite complicated, and likely impossible 32 | - Next meeting on Nov 8th rather than Nov 1st to avoid DST cutover differences between US and EU. 33 | -------------------------------------------------------------------------------- /graphics/20211108.md: -------------------------------------------------------------------------------- 1 | # 2021-11-08 Graphics Team Meeting Notes 2 | Attendees: Tobias Berner (tcberner@), Warner Losh (imp@), Emmanuel Vadot (manu@), Niclas Zeising (zeising@) 3 | 4 | - x11/xorgproto update 2021.5 [D32766](https://reviews.freebsd.org/D32766) good to go? -- yes: approved 5 | 6 | - [pr 259410](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259410) - possibly close, as libinput-driver should be enough in virtually all cases 7 | - kde@ should check why x11/plasma5-plasma-desktop depends on it 8 | 9 | - x11-servers/xorg-server: remove DEVD option 10 | 11 | - desktop@ 12 | - Qt6 roadmap 13 | - adopted ImageMagick ports 14 | - [pr 259614](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259614) fixes plasma-wayland session 15 | 16 | - drm-kmod: 17 | - cleanup on headers done 18 | - ETA next wednesday 19 | - i2c reimplemented in LinuxKPI (clean reimplementation without stolen code) 20 | - i2c nodes exposed to user land / can be queried & controlled from user land 21 | - nc@ created PR for 5.7 22 | - needs some work 23 | - mesa-21.3 not out yet (rc4) 24 | -------------------------------------------------------------------------------- /graphics/20211122.md: -------------------------------------------------------------------------------- 1 | # 2021-11-22 Graphics Team Meeting Notes 2 | Attendees: Tobias Berner (tcberner@), Warner Losh (imp@), Emmanuel Vadot (manu@), Niclas Zeising (zeising@) 3 | 4 | Note: meet.kde.org seems to have issues at the moment (19:00CET) 5 | Altnerate meeting link: https://meet.google.com/sox-uiin-nen (this week only) 6 | 7 | - manu worked through some of the PR ~80ish 8 | - open prs to discuss 9 | - pr [259160](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259160) ready to commit (fix build on riscv64) 10 | - pr [259455](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259455) "loading i915kms from rc.conf cause system freeze" 11 | - you should not be able to do that... 12 | - but maybe some stuff may have changed... 13 | - pr [259670](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259670) "sporadic GPU hang with i915kms" 14 | - pr [259791](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259791) "enable SNA by default" 15 | - pr [259949](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259949) "x11-drivers/xf86-video-vmware is broken after libdrm-2.4.108" 16 | 17 | - merge request for FreeBSD CI: [FreeBSD CI DRM](https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/204) 18 | - non native 19 | - qemu 20 | - FreeBSD 13.0 21 | 22 | - review for native i2c 23 | - [D33053](https://reviews.freebsd.org/D33053) 24 | -------------------------------------------------------------------------------- /graphics/20211206.md: -------------------------------------------------------------------------------- 1 | # 2021-12-06 Graphics Team Meeting Notes 2 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@) 3 | 4 | - kde@ bugs 5 | - https://bugreports.qt.io/browse/QTBUG-95401 6 | - desktop@ bugs 7 | - give meson to jbeich? 8 | -------------------------------------------------------------------------------- /graphics/20220117.md: -------------------------------------------------------------------------------- 1 | # 2022-01-17 Graphics Team Meeting Notes 2 | Attendees: Tobias Berner (tcberner@), Emmanuel Vadot (manu@), Niclas Zeising (zeising@), Warner Losh (imp@) 3 | 4 | - x11@ 5 | - review [D33332](https://reviews.freebsd.org/D33332) mesa update 6 | - can be merged 7 | - last release with dri drivers 8 | - drm kmod updated to 5.7 (on current, soon to be mfc'ed to 13.1+) 9 | - lot of cleanup done, nearly all gpl headers removed 10 | - support for 12.x not in scope 11 | - make the policy public, that only current and $(current-1) are supported officially by the graphics project 12 | - other releases are best effort (no one will break it on purpose) 13 | - imp@ will create a draft for the public communication 14 | 15 | - desktop@ 16 | - Qt-ports switched to the KDE-Qt patch collection 17 | - priority of kde@ 18 | - get plasma wayland working again 19 | - get Qt6 into ports 20 | - poppler stuck at 21.12 because 22.01 requires c++17, while some ports depending on poppler require <=c++14 21 | -------------------------------------------------------------------------------- /graphics/20220214.md: -------------------------------------------------------------------------------- 1 | # 2022-02-14 Graphics Team Meeting Notes 2 | Attendees: Tobias Berner (tcberner@), Warner Losh (imp@), Adriaan de Groot (adridg@) 3 | 4 | What shall we do with a drunken sailor, 5 | What shall we do with a port man-a-ger, 6 | tra la la la la 7 | 8 | - x11@ 9 | - manu and niklas had conflicts, but there's nothing pressing so we skipped x11 10 | discussions this time. 11 | - desktop@/kde@ 12 | - work on lumina converting to cmake instead of qmake 13 | - copperspice to be readded 14 | - plasma wayland still needs work 15 | -------------------------------------------------------------------------------- /graphics/20220228.md: -------------------------------------------------------------------------------- 1 | # 2022-02-28 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Warner Losh (imp@), Emmanuel Vadot (manu@), Niclas Zeising (zeising@) 4 | 5 | - manu: 6 | - mesa-21.3.7 landed 7 | - including lava-pipe (like llvm-pipe, but for vulkan) 8 | - added panfrost driver for arm64 9 | - drm test tool 10 | - tests can be started independently 11 | - main programm that runs all tests (and report) not working atm 12 | - requires testing (and patches) 13 | - drm-kmod to be updated from 5.8 14 | - some pending GPL rewrites 15 | - drm will get back into base (ETA 2022Q2-ish) 16 | - not yet publically announced (as road map not clear yet) 17 | - advantages: 18 | - in sync with base 19 | - easier to handle for users (not additional software required) 20 | - firmware will still be in ports (required for amd, but for intel not that important) 21 | - zeising/X11: 22 | - still busy in RL 23 | - desktop/KDE: 24 | - wayland is still an issue with KDE 25 | - Qt6 still pending 26 | - desktop/gnome: 27 | - maybe invite nc@ at some point to the meeting 28 | - desktop/adridg: 29 | - CopperSpice added 30 | -------------------------------------------------------------------------------- /graphics/20220314.md: -------------------------------------------------------------------------------- 1 | # 2022-03-14 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Emmanuel Vadot (manu@), Niclas Zeising (zeising@), Adriaan de Groot (adridg@) 4 | 5 | - switch meeting one hour earlier (@bsdimp update calendar) for the meeting on the 28th march (17:00 UTC to handle DST stuff) 6 | - bsdimp will handle it 7 | 8 | - FreeBSD 13.1-beta and drm should just work (after recompiling against the proper kernel sources). 9 | - manu will test during this week to make sure 10 | - binary compatibility should not be an issue [tm] 11 | 12 | - x11-toolkits/Xaw3d can be updated freely 13 | 14 | - xorg-server pr [260526](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260526) can go in 15 | - tcberner will do that some time soonish 16 | 17 | - mesa 22 got released last week (hopefully all patches till apply, not yet looked at by manu) 18 | - probably wait for the first .1 release (no need to hurry) 19 | 20 | - manu: 21 | - worked on syncing drm-kmod 22 | - panfrost driver (for arm) 23 | - this should lessen pain for future imports 24 | - updating drm-kmod to 5.10 (eta end of this week) 25 | -------------------------------------------------------------------------------- /graphics/20220328.md: -------------------------------------------------------------------------------- 1 | # 2022-03-28 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@), Emmanuel Vadot (manu@), jrm 4 | 5 | - manu 6 | - mesa updated to latest 21.3-release (last release with the "old" drivers) 7 | - 22 branch will drop some drivers 8 | - Radeon r100, r200 and so on will lose support (these are the 2004-era devices, not the newer ones with similar name) 9 | - there is a branch upstream to add some support back again 10 | - no plans to add suport on FreeBSD, but contributions will not be rejected 11 | - Intels 1st generation gpu will likely also get dropped 12 | - will land after quarterly has been cut 13 | - drm 14 | - work on 5.10 on-going 15 | - everything on Linux KPI side available 16 | - should be done soon [tm] 17 | - after 5.10 a lot of Linux KPI parts need to be moved to base 18 | - lots of possibilites for conflicts 19 | - will lead to sume fun-updates for current users 20 | - adriaan 21 | - writing the quarterly report 22 | - KDE FreeBSD CI fixes 23 | - for kmail 24 | - kdeconnect-kde (needs some fixing so that "support" can be official again) 25 | - tcberner 26 | - preparing some triggers 27 | - kde@ 28 | - update issues with KF5 upgrades 29 | - old: include/Foo/Foo <-- header 30 | - new: include/Foo/Foo/Foo <-- header location now a directory 31 | - suggested fix: add UPDATING note as it only affects one package (grantleetheme-21.12.3 -> 22.03.0 at the moment) 32 | - jrm 33 | - Says hello 34 | - Some issues with hot CPU, Kabylake / Skylake? 35 | - with drm-5.9 36 | - drm-5.8 worked better 37 | -------------------------------------------------------------------------------- /graphics/20220411.md: -------------------------------------------------------------------------------- 1 | # 2022-04-11 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@), jrm, Warner Losh (imp@) 4 | 5 | - adridg@ vanquished a bunch of desktop@ bugs 6 | - cairo bug [257091](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257091) still needs some looking into 7 | - glib related issues: 8 | - glib-networking 9 | - jbeich is also handling 10 | - would require some synchronization 11 | - libxml2 12 | - reverted to autoconf due to dependency loops with cmake 13 | - kde@ not many new bugs 14 | 15 | - is there something we don't do on FreeBSD that Linux does when unplugging HDMI displays (like automatically trigger xrandr) -> manu? 16 | 17 | - ask more people 18 | 19 | - warner: made sure that linux kpi is binary compatible for 13.1 to 13.0 20 | - plan is to have a windowed compatibility 21 | - limited abi stability within the window 22 | - 99% of binary incompatibility problem are solved by this 23 | - stuff had to be moved around a bit to made this work nicely 24 | - hopefully this approach makes it less painful than the 12.x release cycle 25 | - this will be properly resolved once manu moves the drivers back into the src 26 | - no guarantee: just a "best effort" 27 | 28 | - CI: foundation is likely willing to support financially 29 | - hardware and people 30 | - what is mostly lacking is someone to spear-head it 31 | -------------------------------------------------------------------------------- /graphics/20220425.md: -------------------------------------------------------------------------------- 1 | # 2022-04-25 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@), Niclas Zeising (zeising@), Warner Losh (imp@), Joseph Mingrone (jrm@) 4 | 5 | - bsdimp 6 | - LinuxKPI: latest RC works with the packages, so should be good to go for the release. 7 | 8 | - GSoC 9 | - possible student for manu@ 10 | 11 | - kde@ 12 | - reasonable bug count number 13 | - usual updates are happening on schedule 14 | - Qt6 is getting more important 15 | - still the same segfaults (likely due to unique_ptr differences [kde blog](https://blogs.kde.org/2021/02/20/uniqueptr-difference-between-libstdc-and-libc-crashes-your-application) ) 16 | - CI: dfaure@kde.org is keeping an active eye on KDE Frameworks unit tests 17 | - kwin/wayland also is being monitored 18 | 19 | - desktop@ 20 | - not much changed 21 | -------------------------------------------------------------------------------- /graphics/20220509.md: -------------------------------------------------------------------------------- 1 | # 2022-05-09 Graphics Team Meeting Notes 2 | 3 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@), Warner Losh (imp@), Joseph Mingrone (jrm@) 4 | 5 | - manu 6 | - changed how drm-ports work (previously `-${freebsd_version_name}-kmod`) -- now `drm-${linux_version}-kmod` 7 | - modern GPU require firmware: gpu-kmod-firmware port has been changed so that users don't have to install all the firmware, but can only install the one they need. 8 | - a metaport is still available so that users that are unsure can "have it all". 9 | - drm-kmod has been updated by wulf@ 10 | - seems to work fine 11 | - currently working on making the module un-loadable 12 | 13 | - adriaan 14 | - has been fixing buildfailures (random-thingies) 15 | - trying to get plasma-wayland to work again 16 | 17 | - jrm 18 | - display port issues with sandy-bridge laptop -- external monitor suddenly turning off is probably specific to DP. 19 | - still not quite sure what the issue is 20 | -------------------------------------------------------------------------------- /graphics/20220523.md: -------------------------------------------------------------------------------- 1 | # 2022-05-23 Graphics Team Meeting Notes 2 | 3 | - Meeting skipped due to schedulling issues :) 4 | -------------------------------------------------------------------------------- /graphics/20220606.md: -------------------------------------------------------------------------------- 1 | # 2022-06-06 Graphics Team Meeting 2 | Attendees: Tobias Berner (tcberner@), Niclas Zeising (zeising@), Warner Losh (imp@), Emmanuel Vadot (manu@) 3 | 4 | - kde: 5 | - kde removed the setuid helper from the screenlocker (as pam (read linux pam) can self-auth without root permissions) 6 | - https://invent.kde.org/plasma/kscreenlocker/-/merge_requests/59#note_454084 7 | - possible fix: 8 | - https://reviews.freebsd.org/D35169 9 | - https://reviews.freebsd.org/D35347 10 | - https://github.com/Zirias/unix-selfauth-helper 11 | => Get EN to be created and that should be resolved 12 | 13 | - manu: 14 | - Updated drm to the latest version (diff: ) and dogfooding. 15 | - Spent last few weeks to fix un- and reloading for drm drivers 16 | - Works perfectly fine for AMD-GPUs 17 | - Intel GPU's have some undeterminstic failures 18 | - Multiple bug fixes 19 | - i2c 20 | - drmkmod 21 | - Did some bugtracker cleanup 22 | - Yet to come, mesa update (22.x) 23 | 24 | - general: 25 | - update the llvm-default to 13 PR to be default to 14. 26 | - PR (263456)[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263456] 27 | 28 | - warner&manu: 29 | - will take an other look at the kmod situation (->portmgr). 30 | -------------------------------------------------------------------------------- /graphics/20220620.md: -------------------------------------------------------------------------------- 1 | # 2022-06-20 Graphics Team Meeting 2 | Attendees: Tobias Berner (tcberner@), Warner Losh (imp@), Emmanuel Vadot (manu@) 3 | 4 | - not much happend in the past two weeks -- next meeting on Juli 4th (or two weeks after) 5 | -------------------------------------------------------------------------------- /graphics/20220704.md: -------------------------------------------------------------------------------- 1 | # 2022-07-04 Graphics Team Meeting 2 | Skipped (July 4th) 3 | -------------------------------------------------------------------------------- /graphics/20220718.md: -------------------------------------------------------------------------------- 1 | # 2022-07-18 Graphics Team Meeting 2 | Attendees: Tobias Berner (tcberner@), Emmanuel Vadot (manu@), Joseph Mingrone (jrm@), Warner Losh (imp@) 3 | 4 | - manu: 5 | - librdrm updated to the latest version, still testing 6 | - bapt is working on xorg and xwayland to the latest versions [D35661](https://reviews.freebsd.org/D35661) and [D35662](https://reviews.freebsd.org/D35662) 7 | 8 | - kde: 9 | - Qt6 still being annyoing and segfaulting when simple UI elements are used 10 | - hello world works ([screenshot](https://people.freebsd.org/~tcberner/patches/qt6-helloworld.png)) -- but adding for example a QComboBox will make it segfault 11 | - still issue with PAM fix not backported to 12.x and 13.x (blocking update of screenlocker components) 12 | 13 | - jrm: freetype2 review [D35712](https://reviews.freebsd.org/D35712) 14 | - good to go with PORTREVISION bump 15 | -------------------------------------------------------------------------------- /graphics/20220801.md: -------------------------------------------------------------------------------- 1 | # 2022-08-01 Graphics Team Meeting 2 | 3 | - Skipped 4 | -------------------------------------------------------------------------------- /graphics/20220815.md: -------------------------------------------------------------------------------- 1 | # 2022-08-15 Graphics Team Meeting 2 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@), Warner Losh (imp@), Joseph Mingrone (jrm@) 3 | 4 | - kde: Qt6 finally not segfaulting anymore (not due to us, but upstream did something, apparently) 5 | - exp-run pending (to ensure that Qt5 is not broken by the import) 6 | - pam fix merged to 13-stable, should be in next release -> plasma 5.25 can be updated 7 | - 5.25 still has some issues (kactivitymanagerd not starting on its own, blocking startkde_x11) 8 | - cmake 3.24 exp-run pending (lots of fun fallout) 9 | - has if_linux now... if_freebsd will be added for symmetry 10 | - will simplify patches, as you no longer need to compare operating system name to "FreeBSD" 11 | - desktop: 12 | - cairo issues - pending update/plist fixes [263852](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263852) 13 | - llvm-default/qdoc->LLVM_DEFAULT value 14 | - [263456](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263456) 15 | - [263302](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263302) 16 | - chasing the first would resolve the latter. 17 | - se@ AMD issue probaby not in the "best-effort" range. 18 | - possibly add some documentation on the "best-effort" range and the expectiations users can have on the tree. 19 | - foundation is interested in supporting FreeBSD/graphics 20 | -------------------------------------------------------------------------------- /graphics/20220829.md: -------------------------------------------------------------------------------- 1 | # 2022-08-29 Graphics Team Meeting 2 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@), Joseph Mingrone (jrm@), 3 | 4 | - Qt6 finally landed 5 | - webengine/webview pending (kai Kai Knoblich is working on that) 6 | - Plasma 5.25.4 is pending 7 | - Is blocked at the moment due to an issue with kactivitymanagerd not starting up 8 | - [458356](https://bugs.kde.org/show_bug.cgi?id=458356) 9 | - Jake Freeland will likely join some future meetings (GSOC student) 10 | - See e.g. [D36213](https://reviews.freebsd.org/D36213) 11 | - jrm: 12 | - worked on fixing x11-wm/stumpwm [8bcff3b7](https://cgit.freebsd.org/ports/commit/?id=8bcff3b7dc77952a94aadf0b421e421173a39546) 13 | - adridg: 14 | - will start with the quarterly notes (he needs to start now, due to old age) 15 | -------------------------------------------------------------------------------- /graphics/20220912.md: -------------------------------------------------------------------------------- 1 | # 2022-09-12 Graphics Team Meeting 2 | 3 | - Skipped due to schedulling conflicts 4 | -------------------------------------------------------------------------------- /graphics/20220926.md: -------------------------------------------------------------------------------- 1 | # 2022-09-26 Graphics Team Meeting 2 | Attendees: Tobias Berner (tcberner@), Adriaan de Groot (adridg@), Warner Losh (imp@) 3 | 4 | - Quarterly Report: 5 | - x11@ is there anything to write about, who will do it? 6 | - xorg upgrade? 7 | - drm stuff from manu? 8 | - package repo's for all FreeBSD 9 | - src-based packages (ala Linux) 10 | - different repos by FreeBSD-version 11 | - most likely multiple solutions needed to fit all the use-cases 12 | - kde@/desktop@ handled by adridg@ 13 | - qt6-webengine, will arive soon 14 | 15 | - Felix Palmen: if intersted should try to join x11@ 16 | 17 | - adridg@ 18 | - poudriere failures due to file(1) being patched wrongly (100 file limit) 19 | -------------------------------------------------------------------------------- /graphics/20221010.md: -------------------------------------------------------------------------------- 1 | # 2022-10-10 Graphics Team Meeting -- 19:15CEST instead of 19:00 2 | Attendees: Tobias Berner (tcberner@), Joseph Mingrone (jrm@), Warner Losh (imp@), Jake Freeland (jfree@) 3 | 4 | - kde: 5 | - Plasma >= 5.25 may be fixed by the DBus update landed earlier today -- still need to verify 6 | - qt6-webengine still pending due to kai@ being on holiday 7 | 8 | - jake: 9 | - questions about LinuxKPI: 10 | - how to contribute to changes? 11 | - what should be converted, and what not? 12 | - warner: convenience vs long-term strategy 13 | - contact Bjoern or Manu for details/advice 14 | - sync files (Linux vs FreeBSD KPI in Userspace)? 15 | - looking for a src-mentor 16 | 17 | - network-manager interface would be very good to have soon 18 | - Gleb Popov (arrowd@) already implemented bsdidsk2 (udisk2) for FreeBSD -- so he may be a good candidate for the foundation to contact. 19 | -------------------------------------------------------------------------------- /graphics/20221024.md: -------------------------------------------------------------------------------- 1 | 2022-10-24 Graphics Team Meeting 2 | - Skipped due to time change 3 | -------------------------------------------------------------------------------- /graphics/20221107.md: -------------------------------------------------------------------------------- 1 | # 2022-11-07 Graphics Team Meeting 2 | 3 | - Skipped 4 | - Next meeting on 2022-11-21 at 19:30 CET 5 | -------------------------------------------------------------------------------- /graphics/20221121.md: -------------------------------------------------------------------------------- 1 | # 2022-11-21 Graphics Team Meeting 2 | 3 | - Skipped 4 | - Next meeting on 2022-12-05 at 19:30 CET 5 | -------------------------------------------------------------------------------- /graphics/20221205.md: -------------------------------------------------------------------------------- 1 | # 2022-12-05 Graphics Team Meeting 2 | 3 | Attendees: Tobias Berner (tcberner@), Joseph Mingrone (jrm@), 4 | Emmanuel Vadot (manu@), Jake Freeland (jfree@), 5 | Niclas Zeising (zeising@) 6 | 7 | - manu: 8 | - not much happended, until the beginning of december 9 | - mesa update to 22.3 happend (includes undcoumented removal of xvmc), 10 | - contains Rusticl (will replace clover in the future) 11 | - llvm-dependency updated to llvm15 12 | - opencl dependencies updated to 13 | - drm-kmod 14 | - merged in patches from 5.11 (5.12 patches available but untested) (by dumbbell@) 15 | - merged in patches for amd firmware in never version (by dumbbell@) 16 | - new updates for some xorg libraries 17 | 18 | - TODO: make LLVM_DEFAULT=15 in bsd.default-version.mk 19 | 20 | - kde/desktop: 21 | - not much happend 22 | - still have issues with the plasma session coming up 23 | 24 | - jrm: 25 | - working on stumpwm (written in common-lisb) 26 | 27 | - next meeting will be on january 9th 2023, on 19:30 CET 28 | 29 | -------------------------------------------------------------------------------- /graphics/20230109.md: -------------------------------------------------------------------------------- 1 | # 2023-01-09 Graphics Team Meeting 2 | 3 | Attendees: Tobias Berner (tcberner@), Warner Losh (imp@), Adriaan de Groot (adridg@), (maybe others) 4 | 5 | - tcberner: 6 | - will take over organizing the meeting for a while 7 | - kde@/desktop@ 8 | - still trying to figure out why plasma > 5.24 fails to start 9 | - did some printf debugging in startplasma but no progress so far 10 | - kde@: 11 | - other updates all are going smoothly 12 | - wayland still broken likely, but cheriBSD got it working 13 | - [linkedin post](https://invent.kde.org/frameworks/prison/-/commit/14fb6f0a31373b242bdeb18cf9f3a36441bf86b5) 14 | - gnome@ 15 | - dead? fluffy and vishivin, but nc seems to be afk 16 | - maybe needs looking into in the future 17 | - llvm default was bumped to 15 18 | - this makes ports by default in sync with graphics/mesa-libs so fewer different llvm installations on a desktop system are required 19 | - together with llvm.mk this should improve the situations some more 20 | - desktop@ 21 | - tiff security fix [267276](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267276) ready to land 22 | 23 | - bsdimp will update the notes in the repo 24 | -------------------------------------------------------------------------------- /graphics/readme.md: -------------------------------------------------------------------------------- 1 | # Graphics Team Meetings 2 | 3 | We get together every two weeks to discuss current issues relating to graphics. 4 | -------------------------------------------------------------------------------- /iflib/20190327.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Drew Gallatin 4 | - Eric Joyner 5 | - Stephen Hurd 6 | - Jacob Keller 7 | - Marius Strobl 8 | - Olivier Cochard-Labbé 9 | - Cy Schubert 10 | - Jeb Cramer 11 | - Kevin Bowling 12 | 13 | # Notes 14 | 15 | Question about how approval should work in Phabricator in conjunction 16 | with the `#iflib` group. Specifically, who can approve "as the group" 17 | vs as an individual. 18 | 19 | **John Baldwin:** In general I mostly consider phabricator groups as a 20 | way of people expressing what things they are interested in reviewing 21 | more than as a token of authority, so I'm hoping we can avoid a very 22 | detailed rule. 23 | 24 | **Stephen Hurd:** How about people can approve as both themselves and 25 | #iflib if they are confident the change is ok, and if they are less 26 | confident, just approve as an individual. 27 | 28 | **Jacob Keller:** Is there anything iflib related we want to MFC to 29 | stable/11 for 11.3? I looked and didn't see anything, but I know we 30 | at Intel want the request reset function (or reinit). 31 | 32 | **John:** I thought iflib was only in 12.0 and later? 33 | 34 | **Jacob:** We have a newer driver that uses iflib that we want to 35 | eventually merge to 11. 36 | 37 | **Stephen:** The framework is in 11, and bxnt(4) uses iflib in 11, but 38 | no other drivers use it. 39 | 40 | Some discussion about if we should preserve the ABI in 11 or if iflib 41 | is too experimental. 42 | 43 | Consensus is to still preserve the ABI in 11, but ok to MFC changes as 44 | long as ABI is preserved. Also, consensus is not to merge any iflib 45 | driver conversions to 11. 46 | 47 | **Jacob:** I think the only thing I need/want to MFC is the request 48 | reset change. 49 | 50 | **John** suggests uploading the MFC patch to phabricator so we can 51 | collectively help review for ABI changes. 52 | 53 | **Stephen** brings up the review in phab about random MAC addresses 54 | and whether or not `#iflib` is blocking. **John** thinks `#iflib` 55 | shouldn't really be considered as blocking even if phabricator's UI 56 | lists it that way. 57 | 58 | **Jacob:** A performance regresssion(?) for a TCP workload when TSO is 59 | enabled. 60 | 61 | **Drew:** Are you seeing TCP retransmits or bad checksums or other 62 | errors? I would compare the counters across two runs (one with TSO on 63 | and one with it off) to see if anything jumps out. 64 | 65 | **Jacob:** I see the same behavior with both old and new iflib. 66 | 67 | **Drew:** Do you see the same behavior with igb or ixl? 68 | 69 | **Jacob:** No, we only see this on the 40G NIC. 70 | 71 | **Drew:** One stream or multiple streams? 72 | 73 | **Jacob:** Multiple streams. We do get line rate and a lot more CPU 74 | usage on a pre-12.0 kernel. On a more recent kernel, we see the same 75 | CPU usage, but not line rate. 76 | 77 | **Stephen:** It might be worth checking on the fast kernel if TSO is 78 | actually being enabled or not via a debug counter. Line rate with TSO 79 | off sounds unlikely, so the old kernel might have just been failing to 80 | disable TSO. 81 | 82 | **John:** I'm surprised there isn't a MAC counter already for a TSO 83 | packet vs non-TSO packets. 84 | 85 | **Jacob:** I can't get the RACK TCP stack to work. 86 | 87 | **Stephen:** Do you have the rack.ko? 88 | 89 | **Jacob:** When I try to kldload it, it doesn't find it, so no. I 90 | have `EXTRA_TCP_STACKS` in `makeoptions`, so not sure why. 91 | 92 | *More discussion about sysctls to set, etc. to use RACK.* 93 | 94 | **Stephen:** Next meeting I will have more to talk about. Drew, did 95 | you do any work on getting rid of `mp_ring`s? 96 | 97 | **Drew:** Matt forked `mp_ring` from the Chelsio driver into iflib. I 98 | was looking at small packet performance, and we were talking about 99 | using abdicate as a workaround. I wanted to try just cutting out 100 | `mp_ring` and doing something simple to see if that helps or not. 101 | However, Netflix doesn't care about this workload, so it's going to be 102 | a holiday project. However, one thing Netflix does care about is 103 | using Hans' LRO in iflib which Chelsio and Mellanox both already use. 104 | 105 | **Stephen:** Adopting Hans' LRO for iflib is on my todo list, too. 106 | -------------------------------------------------------------------------------- /iflib/20190410.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Jacob Keller 4 | - Marius Strobl 5 | - Stephen Hurd 6 | - Cy Schubert 7 | - Eric Joyner 8 | - Patrick Kelsey 9 | - Warner Losh 10 | - John Baldwin 11 | 12 | # Notes 13 | 14 | ## Power-of-2 Ring Sizes 15 | 16 | **Jacob** had a question about non-power-of-2 values for ring sizes. 17 | 18 | **John** points out that the Chelsio driver always uses non-power-of-2 19 | values since the actual queue has a power-of-2 number of descriptors, 20 | but the last descriptor is always used for a special status page and 21 | not a real descriptor. 22 | 23 | **Stephen:** Does the Chelsio driver use masking or test-and-subtract? 24 | 25 | **John:** It uses test-and-subtract. There are macros in the driver 26 | like `PIDXINCR`. 27 | 28 | More discussion. Assumption is that the masking was used to avoid a 29 | branch, but with conditional instructions like `cmov`, there might not 30 | even be any branches in the test-and-subtract case either. 31 | 32 | For now **Jacob** will add a patch that clamps the descriptor count to 33 | a power of 2 rather than failing. 34 | 35 | ## Interrupt routing 36 | 37 | **Stephen** noted that multiple NICs share the same first N CPUs which 38 | matters when you have more CPUs than queues on a NIC (like em 39 | interfaces with 2 queues). Solution would be to have a kind of 40 | round-robin assignment. 41 | 42 | Related, in some cases you may want tx and rx queues on different CPUs 43 | rather than in pairs bound to the same CPU. 44 | 45 | **John** suggests having some policy knobs to control these like 46 | global tunables or perhaps per-device hints. 47 | 48 | ## Open Reviews 49 | 50 | **Stephen:** Are there any open reviews we want to talk about? 51 | 52 | **Patrick** notes a couple of bugs in the vmx driver. One of them 53 | isn't iflib related but due to running under an old version of ESXi. 54 | Another issue has to do with number of descriptors(?), but not clear 55 | the reporter is setting the sysctls correctly. 56 | 57 | **John** attempted to create a search query in phabricator to list all 58 | open iflib reviews, but phabricator failed to cooperate. 59 | -------------------------------------------------------------------------------- /iflib/20190522.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Olivier Cochard 4 | - Andrew Gallatin 5 | - Patrick Kelsey 6 | - Marius Strobl 7 | 8 | # Notes 9 | 10 | ## CPUs and Interrupts 11 | 12 | Discussion of skipping hyperthreaded logical cores. It is doing that 13 | based on mask returned from `bus_get_cpus()`. 14 | 15 | ## LRO on VLANs 16 | 17 | **Drew** came up with a patch, gave it to **Marius**. 18 | 19 | **Marius** found a few bugs, and found that things still don't work. 20 | Back to Drew. 21 | 22 | ## Non-abdicate Transmit Performance 23 | 24 | non-abdicate transmit perfomance (gallatin, pkelsey) 25 | 26 | **Drew:** Cache misses on mp ring consumer update after r->drain() 27 | returns. Thinking about hacking the drain to bail out at various 28 | points, seeing where the cache misses start to show up. 29 | 30 | **Patrick:** Are any drivers using tx interrupts? Does iflib really 31 | support that? 32 | 33 | We suspect everything is using on-demand cleanup. Patrick will do an 34 | inventory to see if he can find any driver that is using tx interrupts 35 | directly for tx cleanup. 36 | 37 | ## MFCs 38 | 39 | **Marius:** looking at merging fixes back to 12 in a KABI compliant 40 | fashion. Has a patch the removes assumptions that everything is an EM 41 | mac & remove unneeded workarounds from other drivers paths. 42 | -------------------------------------------------------------------------------- /iflib/20190605.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Olivier Cochard- 4 | - Andrew Gallatin 5 | - Stephen Hurd 6 | - Marius Strobl 7 | - John Baldwin 8 | 9 | # Notes 10 | 11 | **Drew** updated an older machine he has (dual-core Xeon from 2009) 12 | updated to do some benchmarking on lower-end hardware. He found that 13 | tx_abdicate actually made performance worse, perhaps due to overhead 14 | of context switches on the older CPUs. 15 | 16 | **Drew** looked a little at the LRO / VLAN issue Marius reported 17 | earlier but hasn't setup the VMs to debug that yet. 18 | 19 | **Drew** is also still wanting to work on redoing LRO, but wants to 20 | ensure it doesn't impact performance on lower-end machines. 21 | 22 | **Marius** has also been busy with other things the last two weeks. 23 | 24 | **Drew** and **Marius** are both trolling ebay for test hardware 25 | 26 | Some discussion on [PR 236734](https://bugs.freebsd.org/236734) where 27 | igb(4) is not reporting link state correctly (it claims link is always 28 | up which breaks things like carp(4)). 29 | 30 | ## Hyperthreading CPUs 31 | 32 | There is an e-mail thread where Patrick Kelsey asked to have a knob to 33 | control if RX and TX worker threads are tied to separate threads 34 | within the core associated with a queue set vs having RX and TX worker 35 | threads bound to the same thread within the core. The current default 36 | is to use separate threads, but Patrick is asking for coalescing the 37 | threads. Some discussion about workloads that might benefit from one 38 | layout vs the other. **Stephen** will follow up on the thread to get 39 | more details on Patrick's workload and how it is impacted. 40 | -------------------------------------------------------------------------------- /iflib/20190814.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Olivier Cochard 4 | - Drew Gallatin 5 | - Stephen Hurd 6 | - Eric Joyner 7 | - Jacob Keller 8 | - John Baldwin 9 | 10 | # Notes 11 | 12 | ## ng_nat(4) and em(4) 13 | 14 | **Stephen:** So I've done nothing on iflib, but did get an internal 15 | report from Steve Wills about ng_nat(4) and em(4). 16 | 17 | **Eric:** I've seen that as well. I have some basic information, but 18 | I don't know more. 19 | 20 | **Stephen:** A bunch of watchdog timeouts and it craps out. I told 21 | him to get a real NIC. The bug report has two different models of 22 | em(4): one (I218-V (2)) never recovers, the other (82574L) recovers if 23 | you remove the netgraph node. 24 | 25 | **Eric:** These both appear to be onboard devices on either desktop or 26 | laptop. 27 | 28 | ## Reviews 29 | 30 | **Jacob:** The deregister cleanup 31 | [D21005](https://reviews.freebsd.org/D21005). 32 | 33 | Part of this patch was merged previously in 34 | [r350507](https://svnweb.freebsd.org/base?view=revision&revision=350507). 35 | 36 | ## VFs in a new Intel driver 37 | 38 | **Eric:** I'm working on adding VF support and my device changes the 39 | maximum number of MSI-X vectors for the VFs based on some 40 | configuration of the VFs after SRIOV is enabled. However, FreeBSD's 41 | PCI bus sees the VF and caches the MSI-X capabilities of the VF that 42 | are later changed by the PF drive when completeing the initialization 43 | of the VF. 44 | 45 | *Various discussion betwen Eric, Jacob, and John* 46 | 47 | **John:** I think we need to make sure there is a suitable callback to 48 | let the PF driver finish initializing the VF before the VF is probed 49 | by the host PCI bus. 50 | 51 | ## Removing `mp_ring` patch [D21122](https://reviews.freebsd.org/D21122) 52 | 53 | **Jacob:** I'd like to say that I looked at this review, but I 54 | haven't. 55 | 56 | **Stephen:** What we really need is to just to verify that there 57 | aren't any regressions. 58 | 59 | **John:** Navdeep may be able to point you at a workload to look at 60 | that might be relevant for `mp_ring`. 61 | -------------------------------------------------------------------------------- /iflib/20190911.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Olivier Couchard 4 | - Drew Gallatin 5 | - Stephen Hurd 6 | 7 | # Notes 8 | 9 | ## Removing `mp_ring` 10 | 11 | Why didn't simplification help? 12 | 13 | sysctl to change callback path to new path is not available yet, 14 | so we get new locking with old `mp_ring`. Worst of both worlds. 15 | 16 | **Stephen** will hardcode the new path for now so Olivier can test. 17 | 18 | ## RSS on EC2 with ixv 19 | 20 | Things are getting hashed 2 different ways? 21 | 22 | Not enough info. 23 | 24 | Intel can look into this 25 | -------------------------------------------------------------------------------- /iflib/20191023.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Olivier Cochard 4 | - Drew Gallatin 5 | - Eric Joyner 6 | - Jacob Keller 7 | - John Baldwin 8 | 9 | # Notes 10 | 11 | ## Removing `mp_ring` 12 | 13 | **Drew**: Olivier tested Stephen's modified patch and it was much 14 | better than the existing `mp_ring` approach. I also tested it on my 15 | own test rig and it is now comparable to the Mellanox driver. 16 | 17 | ## Reviews 18 | 19 | - D22071 20 | 21 | `ether_ifdetach` and vlan eventhandler events moved before device 22 | driver stop. 23 | 24 | - D22086 25 | 26 | Stop interface while adjusting VLAN hardware filters. 27 | 28 | - D21944 29 | 30 | Needs a way to ensure the parent PCI bridge decodes the bus number 31 | of new VFs. John suggests a new `PCIB_DECODES_BUS` or some such. 32 | `sys/dev/pci/pci_pci.c` can check it's bus resource for `NEW_PCIB` 33 | and the registers for `!NEW_PCIB`. Host-PCI bridge drivers like 34 | `sys/dev/acpica/acpi_pcib_acpi.c` will only work in the `NEW_PCIB` 35 | case. Other host-pci bridge drivers to try to fix include 36 | `sys/x86/x86/mptable_pci.c` and possibly `sys/x86/pci/pci_bus.c`. 37 | 38 | There are various non-x86 Host-PCI bridge drivers that need updating 39 | for `PCI_RES_BUS` and `NEW_PCIB` and would need to add that new 40 | method as part of that in the future. 41 | 42 | ## Multicast addr KPI changes 43 | 44 | HEAD changed to use an iterator with a callback for multicast 45 | addresses, but the resulting code is now less efficient. In 46 | particular, the firmware wants to get individual requests to add and 47 | remove addresses. 48 | 49 | **Jacob** asks if we can fix the ioctl to the driver to add and remove 50 | individual addresses. 51 | 52 | **John** tried this in the past but there are races because the 53 | multicast code has to drop locks before invoking the interface ioctl 54 | handler. 55 | 56 | **John** suggests two possible approaches for drivers to deal with 57 | this: 58 | 59 | 1. At the start of the ioctl handler, enable equivalent of 60 | `IFF_ALLMULTI`, clear the table, then invoke the iterator adding each 61 | address. This means rewriting the entire table on each invocation. 62 | 63 | 2. Create a shadow linked-list of multicast addresses in the software 64 | state for the driver. Add some kind of tri-state "mark" flag for 65 | each address entry in the linked-list with the states `REMOVE`, 66 | `KEEP`, and `ADD`. 67 | 68 | - At the start of the ioctl, walk the linked-list setting all the 69 | mark flags to `REMOVE`. 70 | - Invoke the iterator. The iterator callback walks the linked-list 71 | to find an existing entry. If one is found it is marked `KEEP`. 72 | If one is not found, a new entry is added marked `ADD`. 73 | - After the iterator completes, walk the linked-list of addresses 74 | removing addresses marked `REMOVE` and adding addresses marked 75 | `ADD`. 76 | 77 | Note that all of these steps have to be serialized (probably with 78 | an sx lock) to prevent races with concurrent ioctls. 79 | -------------------------------------------------------------------------------- /iflib/20191106.md: -------------------------------------------------------------------------------- 1 | # Attendeees 2 | 3 | - Olivier Cochard 4 | - Stephen Hurd 5 | - John Baldwin 6 | 7 | # Notes 8 | 9 | ## Removing `mp_ring` 10 | 11 | **Stephen**: Still working on this. Performance is much better. 12 | Still have a shared lock between rx and tx. Resolving that might let 13 | us get a skootch more performance and be better than it ever was 14 | rather than just back to the level of pre-iflib. 15 | 16 | Netmap is also way less-broken with this change since it is now 17 | working the way netmap(4) expects. 18 | 19 | ## netmap(4) 20 | 21 | **Olivier**: Are you aware of any users who are using netmap(4)? 22 | 23 | **John**: I know Krion is using it with bhyve. 24 | 25 | **Stephen**: The issue with netmap is you have to provide your own 26 | protocol stack. 27 | 28 | **John**: I think layer 2 and IP and even UDP aren't that hard to 29 | implement, it's TCP that's a pain. 30 | 31 | **Ollivier**: Nothing really to talk about from my side. 32 | 33 | **John**: Me neither, I'm just here to take notes. 34 | 35 | **Stephen**: I'm mostly just here to show that I can still show up to 36 | meetings. 37 | -------------------------------------------------------------------------------- /mitigations/20190405.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Andrew Turner 3 | - Konstantin Belousov 4 | - Ed Maste 5 | - Mariusz Oshogbo 6 | - Gordon Tetlow 7 | 8 | # Agenda 9 | 10 | # Notes 11 | - Pointer Authentication 12 | - Google Project Zero blog post on 13 | [sharing keys between userland and kernel](https://googleprojectzero.blogspot.com/2019/02/examining-pointer-authentication-on.html) 14 | and [injecting PAC pointers](https://googleprojectzero.blogspot.com/2019/04/splitting-atoms-in-xnu.html) 15 | on iPhone 16 | - Andy's [ptrace changes](https://reviews.freebsd.org/D19831) now in review 17 | 18 | - Intel CET 19 | - Ruslan may have looked into it? 20 | - Need access to simulator or hardware 21 | - QEMU support coming? 22 | 23 | - Per-process KPTI control 24 | - committed in [r345228](https://reviews.freebsd.org/rS345228) 25 | 26 | - ASLR 27 | - Doug Moore [max_addr bug fix](https://reviews.freebsd.org/rS345452) 28 | 29 | - tmpfs RW→RO bug fixes (no impact on stable branches) 30 | 31 | - Desire for a wiki page on mitigations we have / do not have / want 32 | 33 | - `MAX_PROT` 34 | - kib's concern: using additional bits 35 | - a new syscall would have significant portability issues; FreeBSD-only 36 | system call unlikely to find wide adoption 37 | - open question, how do we indicate that an interface may not be 38 | stable/present in the future 39 | -------------------------------------------------------------------------------- /mitigations/20190503.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Andrew Turner 3 | - Konstantin Belousov 4 | - Ed Maste 5 | - Mark Johnston 6 | - Gordon Tetlow 7 | 8 | # Agenda 9 | - Intel indirect branch CET 10 | - Desire for a wiki page on mitigations we have / do not have / want 11 | - `MAX_PROT` 12 | 13 | # Notes 14 | Ed will review Bora's ELF modification tool. 15 | Kostik asks whether the tool rewrites the ELF or just overwrites byte(s). 16 | Looking at [the review](https://reviews.freebsd.org/D19290) it's the latter. 17 | 18 | `MAX_PROT` should be ready to commit with a global enable/disable; we can 19 | add the per-process/binary control afterwards. 20 | 21 | Kernel W^X and pmap code to audit kernel page tables - some code, but not 22 | much work here of late. 23 | 24 | Mark has been working on syzkaller. It is finding many bugs that can be 25 | triggered by an unprivileged user; they're being fixed when found. 26 | 27 | Also submitted a [pull request for the syzkaller bhyve backend](https://github.com/google/syzkaller/pull/1150). 28 | 29 | syzkaller is getting stuck on some common bugs/issues (e.g. unix epoch 30 | timestamp panic, ufs sparse file seek, etc.) and then doesn't make progress 31 | 32 | Andrew submitted ptrace patch but has not yet been able to look at feedback 33 | after holidays. 34 | 35 | BSDCan discussion. 36 | 37 | Discussion of some in-progress security issues. 38 | 39 | 40 | -------------------------------------------------------------------------------- /mitigations/20190531.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Konstantin Belousov 3 | - Andrew Turner 4 | - Mark Johnston 5 | - Ed Maste 6 | - Brooks Davis 7 | - John Baldwin 8 | - Gordon Tetlow 9 | 10 | # Agenda 11 | 12 | # Notes 13 | - Access to a machine within Intel for CET work is in progress 14 | - `MAX_PROT` 15 | - allow it to be set and honour it if userland wants to 16 | - commit with a implied sysctl for testing 17 | - mprotect - needs VM API changes? 18 | - John points out that we'd like mprotect to work from the beginning so that 19 | `#ifdef` can be used e.g. in ports 20 | - In a comment on GitHub John writes: The point of the mprotect() change 21 | is to let software give up the right to future changes. It's not 22 | something that disables exec mappings entirely. Instead, the idea is to 23 | have the runtime linker do an initial mmap() where prot == RW but 24 | maxprot == RWX (and have the maxprot of RWX be explicit instead of 25 | implicit as on some other systems). When the runtime linker has finished 26 | relocating the executable or library, it would use mprotect to switch 27 | from RW to RX. However, what this comment is about is letting the 28 | mprotect() call also lower maxprot to RX at the same time so that the 29 | process is never able to invoke mprotect in the future to re-enable write 30 | access. 31 | - mprotect should be pretty straightforward; brooks has no time in the near 32 | future but will review 33 | - Syzkaller 34 | - Andy, Mark have been looking at syzkaller things 35 | - i386 now running at Google (from Waterloo hackathon) 36 | - error where client dies - possibly writing bad data into the kcov buffer 37 | (currently investigating) 38 | - appears sysbot found one i386-specific issue so far (sendmsg/uipc_send), 39 | trivial reproducer 40 | - Kostik suggests testing on i386 kernel will find other classes of issues 41 | (i.e. because of 4/4G split) 42 | - how difficult would it be to run i386 kernel within GCE? we can run it in 43 | bhyve 44 | - Syzkaller deployment questions (if GCE i386 is tricky) - investigate cloud 45 | providers, Sentex machines when they're otherwise unused, FF-purchased 46 | hardware? 47 | - Syzkaller report triage - lots of issues with SCTP, mostly falling to 48 | tuexen@ 49 | - jhb: should we make SCTP optional (as a module as default); markj will 50 | begin investigating 51 | - Listening socket locking bug, discussed with glebius@, proposal to rework 52 | locking 53 | - Syzkaller finds many different forms of this issue 54 | - Sometimes difficult to reproduce; C reproducers tend to be reliable but 55 | still need to run in a loop etc. 56 | - markj stuck on presumed buffer corruption issue, follow up with Dmitry on 57 | how Linux protects it 58 | - ptrace changes for pointer authentication 59 | - need to update man page, compat32 before commit 60 | - Merging SCP wildcard changes back to 11.x? 61 | - Decide not to do it, suggest 11.x people install port/pkg 62 | - Question about rolling out mitigations in separate kernels 63 | - Kostik points out observed incompatibilities with ifunc 64 | - pkg base is our desired path forward to solve this issue 65 | - need to figure out what we will do in the short term in the freebsd-update 66 | world 67 | - idea: use beta pkg base as the way to do this 68 | - jhb: we should focus effort to determine which things belong in GENERIC 69 | -------------------------------------------------------------------------------- /mitigations/20190628.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - Konstantin 3 | - Andrew 4 | - Mark 5 | - Ed 6 | - Brooks 7 | - Mariusz 8 | 9 | # Agenda 10 | - `MAX_PROT` 11 | - committed as [r349240](https://reviews.freebsd.org/rS349240) 12 | - ELF tagging 13 | - Syzkaller 14 | 15 | # Notes 16 | - `MAX_PROT` and discussion of test integration 17 | - Have test be tagged as modifying global state and have it change the sysctl 18 | - For testing `MAX_PROT` itself use procctl when hooked up 19 | - We would like to test the global control as well 20 | - Brooks has little time available, someone else can add procctl and ELF tags 21 | - kib will add opt-out ELF flag, and procctl enable/disable 22 | - brooks comments that we should enable/disable based on ABI level 23 | - Ed will get back to reviewing Bora's tool 24 | - Investigate interaction with image checksum - probably just a note in the man page 25 | - Discussions around defaults and the stance we want to take 26 | - Syzkaller 27 | - Mark set up netdump in his instance 28 | - Making SCTP loadable as a module is fairly difficult 29 | - Going through outstanding issues this week and next 30 | - netdump in public Syzkaller feasible but a logistical difficulty 31 | - Mark expects to wrap up kernel W^X work soon 32 | - Andy continuing to work on ptrace changes 33 | - Looking into fuzzing at Cambridge w/ CheriBSD 34 | - NetBSD GSoC fuzzing project of interest? 35 | - Mariusz mostly focused on Capsicum things 36 | - CET blocked on machine access 37 | - LL/SC change 38 | - markj identified one bug in rview 39 | - pho discovered i386 broken 40 | - expect to commit once pho's next round of testing + markj review is complete 41 | - brooks will give it a try in his tree on MIPS 42 | -------------------------------------------------------------------------------- /mitigations/20190726.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | - kib 3 | - emaste 4 | - andrew 5 | - markj 6 | - gordon 7 | - brooks 8 | 9 | # Agenda 10 | - static PIE 11 | - [ELF tagging tool](https://reviews.freebsd.org/D19290) 12 | - Mitigation defaults 13 | 14 | # Notes 15 | ## Discussion of moving architectural type issues within Secteam into this venue. 16 | - Look to see if delphij is able to join this call. 17 | 18 | ## Static PIE 19 | - Identify relocations - one of 20 | - build binaries as static PIE 21 | - discuss with lld authors 22 | - investigate lld source for relocations generated 23 | 24 | ## ELF tagging 25 | - Ed needs to finally review 26 | - kib will take another look 27 | 28 | ## ASLR defaults, documentation 29 | - Need holistic documentation about security knobs 30 | - We do have a security.7 page already, how current is it? 31 | - What are the defaults? 32 | - kib will brain dump mitigations available. gordon will run with it to get it 33 | into some documentation. 34 | 35 | ## Stack randomization 36 | - What requires fixed stack locations? 37 | - variable stack gap rather than moving the whole stack map 38 | - needs only 16 byte alignment, not page alignment 39 | - `ps_strings` location 40 | - default stack size is 0.5GB 41 | - need to refactor fixup code, would be useful for CHERI 42 | - concerns over 32-bit address space fragmentation 43 | - do we care about 32-bit in this context? 44 | - kib will look at it as time permits 45 | 46 | ## fhold overflow check / refcount KPI changes 47 | - kib fixed after reading a 48 | [security analysis blog posting](https://secfault-security.com/blog/FreeBSD-SA-1902.fd.html) 49 | prompted by markj's [SA-19:02.fd change](https://reviews.freebsd.org/rS343784) 50 | - mark investigating other users / possible issues 51 | - returning error may not be possible, possible approaches: 52 | - widen refcount to 64 bits (on `LP64` at least) 53 | - implement saturating counter, trade use after free with memory leak 54 | - expecting update for next call 55 | 56 | ## Clang stack protector CVE 57 | - Commits have gone into llvm 58 | - We need to bring in the changes, talk to dim@ 59 | - Andrew will forward details 60 | - https://kb.cert.org/vuls/id/129209/ 61 | - https://reviews.llvm.org/rL366371 62 | - https://reviews.llvm.org/rL367068 63 | 64 | ## max_prot / W^X 65 | - Brooks will write a journal article on `max_prot` and it will touch on `W^X` 66 | - Straightforward to bring in CHERIBSD `W^X` implementation (currently logs and 67 | accepts) 68 | -------------------------------------------------------------------------------- /mitigations/20190927.md: -------------------------------------------------------------------------------- 1 | # Mitigations Call 2 | 3 | # Attendees 4 | * andrew 5 | * emaste 6 | * gordon 7 | * kib 8 | * markj 9 | 10 | # Agenda 11 | 12 | # Notes 13 | ## kernel permissions work (markj) 14 | - done in local tree, patches going into review 15 | (probably by beginning of next week) 16 | - kernel linker has two modes, compile-time `#ifdef SPARSE_MAPPING` 17 | in link_elf.c (implemented but not used) 18 | - applies permissions specified in segments on dsos 19 | - preloaded modules: add function to change permissions after the fact 20 | - by default start RW, kernel linker will change to RX (i.e., will change 21 | to specified permissions) 22 | - add Makefile override for specific modules that need different settings 23 | - vnet, pcpu don't work properly in PIC modules, existing hack used on other 24 | platforms works 25 | - -f noplt compiler flag 26 | - Added for PIC kernel modules modules 27 | - Investigating linker work 28 | 29 | ## syzkaller (markj) 30 | - suggest we stop compiling sctp into the kernel 31 | - really need to be able to load transport modules as modules 32 | - running on backtrace instance, most bugs found are in sctp 33 | - also couple of vm bugs 34 | - andrew added mount support and identified an issue, fix to be committed 35 | 36 | ## sanitizers (andrew) 37 | - kasan - working on dmap issues 38 | - add compile or boot time option to disable use of dmap 39 | 40 | ## stack gap (kib) 41 | - discussion about settings and defaults 42 | - provide improved way to control limits 43 | 44 | ## misc 45 | - PIE load base when ASLR enabled 46 | - kernel map reporting 47 | - want to add more details about submaps 48 | - ELF control flags tool 49 | - https://reviews.freebsd.org/D19290 50 | - emaste will return to this soon 51 | 52 | ## Structure of security teams 53 | - Look to formalize PSIRT vs SecArch vs Crypto workstreams 54 | - Think about generalizing the csprng group into crypto team 55 | -------------------------------------------------------------------------------- /mitigations/20200821.md: -------------------------------------------------------------------------------- 1 | # Mitigations Call - 2020-08-21 2 | 3 | # Attendees 4 | - andrew 5 | - emaste 6 | - kib 7 | - markj 8 | 9 | # Discussion 10 | - markj working on Linux(ulator) Syzkaller 11 | - Syzkaller abstractions to support different host/target OS 12 | - working on kcov emulation 13 | - fuzzing nontransparent superpages 14 | - kib working on patches for syzkaller-found issues 15 | - two open problems, one understood one still under investigation 16 | - related to old SU LOR (longstanding, but previously not reproducible) 17 | - CET work will likely start after in-flight pmap patches finished 18 | - arm64 DTrace fbt issue 19 | - can't disassemble function prologues 20 | - userspace dtrace is not implemented at all yet 21 | - armv8 software crypto implementation - AES modes 22 | -------------------------------------------------------------------------------- /portmgr/README.md: -------------------------------------------------------------------------------- 1 | # Portmgt Team Meetings 2 | 3 | A try to publish portmgr status a bit more regularly 4 | -------------------------------------------------------------------------------- /srcmgr/20241004.md: -------------------------------------------------------------------------------- 1 | # 20241004 srcmgr meeting 2 | 3 | Attendees: markj, jhb, emaste, imp 4 | 5 | Agenda: 6 | - Need to write an announcement to developers@. 7 | - Discussed what will be in it, who will draft it (markj). 8 | - imp will work on getting the srcmgr charter published somewhere linkable. 9 | 10 | - 0mp (Mateusz Piotrowski) has asked for src commit access to facilitate work on the rc(8) framework. 11 | - He wants to help land contributor rc patches which are languishing, and add test cases. 12 | - A number of existing patches are on phabricator. 13 | - markj to mentor. 14 | - Yes: emaste, jhb, imp, markj 15 | 16 | - trasz (Edward Tomasz Napierała) has some patches in phabricator and would like his commit access restored. 17 | - jhb will get his account restored. 18 | 19 | - kibab (Ilya Bakulin) would like cluster access restored so that he can help with the GCP release process. 20 | - We don't have much process for contributors with cluster accounts but no commit bits. How do they get expired? 21 | - markj to email core about this. 22 | - markj to follow up with accounts@ to get Ilya's cluster account set up. 23 | 24 | - Some discussion of how to approach the bugzilla src backlog. 25 | - Mark Linimon has been doing a lot of work lately to go through select categories of stale bugzilla issues and close them when appropriate. 26 | - We need to have regular sessions where a group of developers go through batches of PRs and try to make progress on those that can't be closed. 27 | - We want to err on the side of caution when closing stale PRs; e.g., a panic reported 10 years ago with no reproducer or follow-up is not useful, but bugs with reproducers should be investigated more thoroughly. 28 | - It would be useful to measure issues by how long it has been since the last comment. 29 | - The FF is coordinating some work to get more analytics on the src bugzilla backlog. 30 | - Some mechanical, blanket bugzilla comments confuse this, but they can be manually filtered. 31 | 32 | - Spent some time going through open Github PRs, starting with the older ones. 33 | -------------------------------------------------------------------------------- /srcmgr/20241019.md: -------------------------------------------------------------------------------- 1 | # 20241019 srcmgr meeting 2 | 3 | Attendees: markj, jhb, emaste, imp 4 | 5 | Agenda: 6 | - Start fleshing out a lurkers program. 7 | - What is our goal? 8 | - Recruit new srcmgr members (eventually). 9 | - Get people involved in proactive triage of bugzilla/github/phab. 10 | - Get people working on development tools with guidance from srcmgr. 11 | - What are the prerequisites? 12 | - A src commit bit for srcmgr membership, but not for helping with triage/tools. 13 | - Some track record of contributions to src. 14 | - Some track record of contributions that aren't just commits: code reviews, bugzilla, github, MLs, forums, ... 15 | - Before the end of the year, we want to start having regular triage calls with interested lurkers. 16 | - We would like to stream these calls. 17 | - Zoom seems like the best platform for this, FF may be able to sponsor. 18 | - Want to keep the scope relatively small initially. 19 | - Need a pre-determined list of issues to triage, we don't want to spend the call deciding what to focus on. 20 | - Need a moderator to guide discussion and move things forward. 21 | - Need some kind of policy for how to conduct bug triage (see item below). 22 | 23 | - Bug triage policy. 24 | - We want some policy document which outlines how we approach bug triage, so that lurkers have something to refer to. 25 | - Include guidelines on how to triage new bugs vs. old backlog issues. 26 | - Provide a state machine for common cases and guidance on how to handle tricky cases. 27 | - e.g., what to do about [bugzilla PR 282115](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282115)? If there is no follow up in a month or two, it should just be closed. 28 | - There is nothing preventing users from re-opening bugs or commenting on closed bugs. 29 | - How do we decide whether a bug is actionable? 30 | - Feature requests are a bit tricky. Bugzilla is not really the right place, but we don't have anything better. 31 | - We should get guidance from Mark Linimon. 32 | - markj will draft this before the next call 33 | 34 | - asciidoc conversion of the charter. 35 | - Warner is still working on it. 36 | 37 | - Commit bit vote timeouts 38 | - We don't have a policy for this, but we should. 39 | - Ideally, srcmgr members will let the group know if they'll be away for more than a few days. 40 | - A timeout of a week is reasonable for the rare exception. 41 | - Need to draft a policy (markj I think?) and link to it from the srcmgr charter. 42 | 43 | - src commit bit for Kajetan Staszkiewicz 44 | - He has been contributing to pf for a while. 45 | - kp@ to mentor. 46 | - Yes: emaste, jhb, imp, markj 47 | 48 | - src commit bit for Kevin Bowling (kbowling) 49 | - He has a ports bit and has been improving various NIC drivers for a while. 50 | - We thought he had a src bit already. 51 | - Kevin and us agree that there's no need for a mentor, he can ask questions as needed. 52 | - Yes: emaste, jhb, imp, markj 53 | 54 | - Warner asks, what is our policy for releasing an EN? 55 | - We don't have a well-documented policy. 56 | - secteam will release them if: 57 | - someone has filled out the template, 58 | - the patch isn't too risky or complex, 59 | - the problem being solved is hard to work around. 60 | - The EN process is quite cumbersome, an artifact of using freebsd-update as the deliver mechanism. 61 | - We would probably release more low-risk ENs if the process were easier. 62 | - Life will be easier post-pkgbase (we can more easily respin install media). 63 | - No real actions to take here, but we discussed some of the ongoing work to make a pkgbase-aware installer. 64 | -------------------------------------------------------------------------------- /srcmgr/20241101.md: -------------------------------------------------------------------------------- 1 | # 20241101 srcmgr meeting 2 | 3 | Attendees: markj, jhb, emaste, imp 4 | 5 | Agenda: 6 | - Warner is still working on the asciidoc conversion of the charter 7 | - Mark started drafting a bug triage guide to use as a reference during bugbusting sessions 8 | - No progress on a vote timeout policy 9 | - This is low priority for now 10 | - Plan to solicit volunteers to write src development tools 11 | - We have some ideas, to be fleshed out on a wiki page and proposed to developers@ 12 | - a dashboard showing how "stale" contrib components are, which ones have many open bugs, etc. 13 | - MFC tracker which looks for dangling "Fixes:" tags 14 | - finish imp's GH pull request landing tool (needs better error handling and documentation) 15 | - Interested volunteers can join the regular srcmgr calls to discuss ideas and get feedback 16 | - When will we finalize the deprecation schedule for 15? 17 | - releng/15.0 is expected to branch late 2025 18 | - We will commit to a removal schedule by June 2025 at BSDCan 19 | - i386 and 32-bit powerpc would be disconnected from the build immediately after the branch 20 | - We still have armv7 to help catch 32-bit build issues, but maintenance of removed archs is challenging (c.f., mips) 21 | - bugzilla PR 280932 asks us to keep 32-bit powerpc 22 | - past surveys show very little use 23 | - we do not run any regression tests for 32-bit powerpc 24 | - the booke pmap is a maintenance burden 25 | - jhb will follow up 26 | - we are not committed to removing i386/powerpc32 yet, but so far do not see much activity to keep them 27 | - Switching to git-style commit trailers, "Reviewed-by:" etc. 28 | - imp says it makes git tooling much easier to write 29 | - many projects are following this standard these days, contributors submit patches using it, it's easier for them to remember 30 | - we've already informally agreed to start migrating, there is already a mix of styles in the tree 31 | - git-arc needs a small update, pretty easy but needs time to propagate 32 | - git hooks are mostly ready (e.g., for "Approved-by") 33 | - imp discovered that "Differential-Revision:" does not work, not sure what to do there 34 | - MFC tracking tooling has long since been updated (thanks kevans) 35 | - we should coordinate with core@ and portmgr to see if they want to adopt the new convensions 36 | - Ed notes that our formatting for Fixes: is not consistent 37 | - bapt is setting up a forgejo instance 38 | 39 | Todo: 40 | - John to follow up on bugzilla PR 280932 41 | - Warner to finish the charter conversion to asciidoc 42 | - Mark to finalize the bug triage guide 43 | - Mark to draft an email to developers@ soliciting volunteers to work on tools 44 | -------------------------------------------------------------------------------- /srcmgr/20241115.md: -------------------------------------------------------------------------------- 1 | # 20241115 srcmgr meeting 2 | 3 | Attendees: markj, jhb, emaste, imp 4 | 5 | Agenda: 6 | - Warner posted a review to add the srcmgr charter 7 | - https://reviews.freebsd.org/D47573 8 | - Mark finished a draft email to developers@ soliciting work on tools 9 | - Would like a couple more ideas 10 | - Warner needs to provide some details on his github PR landing tool 11 | - Mark is still working on the src bug triage guide 12 | - cperciva@ asks, what do we need to be tracking for 15.0? 13 | - Ed replied with some details 14 | - pkgbase 15 | - pkg fixes 16 | - tooling to convert existing systems 17 | - installer patches 18 | - i386/powerpc32 retirement 19 | - which OpenSSL LTS version will be in 15? 20 | - 3.0 won't be in support for long enough 21 | - should move to 3.3 or 3.4 before 15.0 is branched, but these are not LTS 22 | - drm drivers in base 23 | - spent time reviewing and updating the 15.0 planning doc from bsdcan 24 | -------------------------------------------------------------------------------- /srcmgr/20241129.md: -------------------------------------------------------------------------------- 1 | # 20241129 srcmgr meeting 2 | 3 | Attendees: markj, emaste, imp 4 | 5 | - A bit time-constrained today since it's US Thanksgiving 6 | - Took in grehan@'s bit for safekeeping 7 | - Discussed a bug triage session 8 | - linimon@ has been closing many old bugs that have some commit associated with them 9 | - sometimes this is incorrect, e.g., when a bug is opened for a test failure and we reference the bug in a commit which skips the test for CI 10 | - mused having a "Fixes PR:" tag to make it easier to understand the relationship between the commit and the PR 11 | - not sure we want to impose extra process; we might also confuse github in the future since "PR" is overloaded 12 | - Going to host a src bug triage session on Friday Dec 6, 11am-2pm EST 13 | - markj to send out a notification to developers@ on monday or tuesday 14 | - emaste will help set up zoom 15 | - Spent some time going through open PRs on github 16 | - imp landed a whole bunch 17 | -------------------------------------------------------------------------------- /srcmgr/20241213.md: -------------------------------------------------------------------------------- 1 | # 20241213 srcmgr meeting 2 | 3 | Attendees: markj, emaste, imp, jhb 4 | 5 | - Going to skip the next call due to overlap with Christmas 6 | - Discussed licensing issues in the Linux i915 driver 7 | - Most of the driver is permissively licensed but a few files were 8 | mechanically tagged as GPLv2-only. 9 | - amdgpu and nouveau are consistently MIT-licensed. 10 | - Ed is trying to get upstream to relicense i915 files. 11 | - https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13330 12 | - https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3852 13 | - We had a src bugzilla triage session on December 6th 14 | - About 15 people present in total, met for three hours, focused on new src bugs. 15 | - Discussed how to make it a bit better next time. 16 | - Host should provide more context somehow (e.g., current bug number) so that folks 17 | tuning in and out can quickly see where we are. 18 | - Different sessions could focus on backlogged bugs vs. new ones. 19 | - We feel it's very important to ensure that new bugs get triaged quickly, 20 | backlogged bugs are, well, backlogged, and generally have less value. 21 | - It's still important to comb through the backlog, but it's harder to do as 22 | a group. 23 | - Could have alternating sessions for new bugs and old. 24 | - Mark Linimon suggests working with contributors on Discord. 25 | - Warner has been working on a jemalloc import. 26 | - Quite complex due to quirks of previous imports. 27 | - He is trying to stage things so that it's possible to script next time. 28 | - i386 and 32-bit powerpc removal 29 | - Should core@ drive this, since ports and docs are involved as well? 30 | - John will mail core@. 31 | -------------------------------------------------------------------------------- /srcmgr/20250110.md: -------------------------------------------------------------------------------- 1 | # 20250110 srcmgr meeting 2 | 3 | Attendees: markj, emaste, imp, jhb 4 | 5 | - Need to submit a quarterly report (markj) 6 | - Plan next bugbusting session 7 | - Let's aim for January 17th 8 | - Try to use meet.f.o this time 9 | - markj will organize it again 10 | - How can we engage users on discord for similar sessions? 11 | - Discussed some ideas, no concrete plan yet 12 | - Mailed core@ about 32-bit platform deprecation 13 | - No reply, maybe retry now that folks are back from holidays 14 | - Discussed switching from gnu99 to gnu17 for buildworld 15 | - https://reviews.freebsd.org/D43237 16 | - jhb has been testing (clang and gcc14) and staging commits 17 | - Do we need a CXXSTD, akin to CSTD? 18 | - We don't have a formal document specifying which toolchains we support 19 | - Somewhat documented in cdefs.9 and our GitHub/Cirrus-CI job definitions 20 | - Need to take into account cross-building from MacOS and Linux 21 | - We need some regular milestone to reevaluate, e.g., major branch, LLVM import, annual, ... 22 | - Talked a bit about some ongoing technical work 23 | - PCIe extension support (ASPM, DPC) 24 | - S4 support, S0ix 25 | - cpufreq 26 | - Start keeping track of "emerging technologies" in the have/need/want document 27 | - Spent some time triaging bugzilla 28 | -------------------------------------------------------------------------------- /srcmgr/20250124.md: -------------------------------------------------------------------------------- 1 | # 20250124 srcmgr meeting 2 | 3 | Attendees: markj, emaste, imp, jhb 4 | 5 | - Discussed the bugbusting session last Friday 6 | - Lots of folks had issues with audio, will switch back to zoom for the next session most likely 7 | - Pasting the bug link in the chat for each bug worked well 8 | - Talked about better ways to synchronize participants 9 | - Discussion on freebsd-net about wg support in ifconfig 10 | - Some allegation that this would be rejected out of hand, but that's not the case 11 | - markj replied to clarify this 12 | - Some technical discussion about I/O port handling on non-x86 systems 13 | - jhb has been cleaning things up and asked for help with testing 14 | - Debugging PCI-e hotplug issues on Warner's arm64 server system 15 | - Discussed an ongoing Loongarch port 16 | - What criteria would we use to decide whether to import it? 17 | - So far there's no clear indication that anyone would be using it 18 | - Someone needs to be able to handle maintenance and testing 19 | - Triaged new bugzilla PRs 20 | - Reviewed open github PRs 21 | -------------------------------------------------------------------------------- /srcmgr/20250207.md: -------------------------------------------------------------------------------- 1 | # 20250207 srcmgr meeting 2 | 3 | Attendees: markj, emaste, imp, jhb 4 | 5 | - Date for the next bugbusting session 6 | - Feb. 28th seems suitable 7 | - Will switch back to zoom for this one 8 | - Discussed ongoing src bugzilla backlog triage 9 | - i386/powerpc32 deprecation and removal plan 10 | - jhb drafted a proposal and timeline and sent it to core@ and re@ 11 | - kib objects to removal of support for i386 userspace 12 | - it's useful to have an easily testable 32-bit target 13 | - it's important to be able to run old binaries 14 | - not necessary to keep building packages 15 | - https://wiki.freebsd.org/I386UserModeOnly 16 | -------------------------------------------------------------------------------- /srcmgr/20250221.md: -------------------------------------------------------------------------------- 1 | # 20250207 srcmgr meeting 2 | 3 | Attendees: markj, emaste, imp, jhb 4 | 5 | - markj wrote a script to help with MFCs: https://reviews.freebsd.org/D49013 6 | - Represents a step towards a git-mfc command 7 | - jhb has been working on a gitconfig which can automatically append "Fixes:" tags 8 | - We are missing git commit hooks to catch common errors 9 | - Missing newline after commit title is probably the first mistake to start rejecting 10 | - Also need to require 7-bit ASCII for titles (used as email subject lines) 11 | - Fixes tags that are malformed or refer to non-existent commits 12 | - Want to be able to override these checks (e.g., for vendor/contrib commits) 13 | - i386 removal 14 | - we're going to remove the i386 kernel, userspace will stay 15 | i.e., can still run "make buildworld TARGET=i386" 16 | - Warner asks if we'll have to keep i386 headers around for this 17 | - There are some i386 ifdefs in userspace, need to audit 18 | - e.g., We should still remove installer support for installing i386 19 | - Need to present the proposal at the BSDCan devsummit 20 | - Let's ask for a srcmgr slot at the devsummit 21 | - ask for questions in advance as well as in the moment 22 | - Will also do another bugbusting session 23 | - Planned for 2025/02/28 24 | - Copyright hygiene 25 | - should develop a script to find any files in src that do not have a copyright (or marked as public domain) 26 | - would like this to become a regular test we can run to detect regressions 27 | - many Makefiles in the tree are not currently annotated 28 | -------------------------------------------------------------------------------- /srcmgr/20250404.md: -------------------------------------------------------------------------------- 1 | # 20250404 srcmgr meeting 2 | 3 | Attendees: markj, jhb 4 | 5 | - First meeting in a few weeks as members were travelling or very busy 6 | - Held a src bug-busting session on 2025/02/28 7 | - Attendence was a bit slim (9 people this time) 8 | - Worked on recent bugs, then spent some time on bugs with patches attached 9 | - linimon has been rebasing patches in bugzilla 10 | - Approved a commit bit for Krzysztof Galazka, proposed by erj 11 | - markj to write a quarterly report for srcmgr 12 | - Should push D49013 forward 13 | - Probably just commit it to tools/git, we can add it to freebsd-git-devtools later 14 | - jhb wants to add a gitconfig to the src repo 15 | - We have some issues with commit log consistency 16 | - A config would help us provide templates for commit trailers 17 | - markj mailed gitadm about adding commit hooks to catch common errors 18 | - Some existing src repo hooks are available on github 19 | - markj will try submitting some 20 | - jhb converted ctld to C++ and has some style questions; style(9) doesn't handle some C++ syntax 21 | - will open a github PR to discuss and request comments 22 | - Need to plan a srcmgr talk for the BSDCan devsummit; topics include: 23 | - presenting a plan for i386 kernel removal 24 | - discussing bug-busting sessions 25 | - recruiting srcmgr lurkers/new members 26 | - Q/A 27 | 28 | -------------------------------------------------------------------------------- /srcmgr/20250418.md: -------------------------------------------------------------------------------- 1 | # 20250418 srcmgr meeting 2 | 3 | Attendees: markj, emaste, imp 4 | 5 | - Approved a commit bit for Lexi Winter, kevans and des to mentor 6 | - markj still needs to write a quarterly report for srcmgr 7 | - kevans points out that https://www.freebsd.org/internal/new-account/ is stale, says new src commit bits are granted by core@ 8 | - lwhsu has updated it 9 | - srcmgr-secretary@ is just an alias for srcmgr@ for now, no real plans to change it 10 | - We are using individual PGP keys to sign welcome emails, there's no pressing need for a dedicated srcmgr@ PGP key 11 | - markj wonders if we can get rid of individual opt_* headers and just use opt_global.h 12 | - This would avoid occasional pain from forgetting to include the right opt_* header in each file 13 | - Dropping them would break 3rd party code which greps them (examples?) 14 | - Requires some config(8) hacking 15 | - Next steps for git 16 | - Want to get the ports team on board with GitHub 17 | - Warner wants to find ways to hook GitHub into existing systems (bugzilla, mailing lists) 18 | - Looking at small things we can do to make submitting PRs easier 19 | - Warner is working with folks on discord, trying to get some bite-sized contributions 20 | - LA57 default 21 | - Package building was disrupted because LA57 enablement breaks Go programs, as the runtime repurposes high bits in heap pointers 22 | - We need to address this generally for 15.0 23 | - markj will mail kib about it 24 | - https://reviews.freebsd.org/D49913 25 | - jhb has a C++ style PR open for discussion 26 | - https://github.com/freebsd/freebsd-src/pull/1658 27 | - Generally we should avoid forcing style(9) sensibilities onto C++ where it doesn't make much sense 28 | - e.g., a newline after the return type in a function definition doesn't make much sense in C++ 29 | - Spent some time on the GitHub PR backlog 30 | - The backlog's grown to almost 100 open PRs 31 | - Warner has committed his PR landing tool (ghpr) 32 | -------------------------------------------------------------------------------- /srcmgr/README.md: -------------------------------------------------------------------------------- 1 | # srcmgr Team Meetings 2 | 3 | srcmgr@ is a group of FreeBSD developers who aim to guide src development practices. 4 | They can be reached at srcmgr@FreeBSD.org. 5 | 6 | Charter: to be linked 7 | -------------------------------------------------------------------------------- /supervision/2023-03-23.md: -------------------------------------------------------------------------------- 1 | # Attendees 2 | 3 | - Ihor Antonov 4 | - Mina Galić 5 | 6 | # Agenda 7 | 8 | - Review group readme 9 | - Define group meeting schedule → Bi-weekly 10 | - Daemon improvements - short term plan 11 | - RC discussion 12 | - … 13 | 14 | # Notes 15 | 16 | ## TOOLS 17 | 18 | notes: https://scratchpad.pkgbase.live/ 19 | meeting: https://meet.kde.org/b/iho-3ko-ud0 20 | 21 | ## Minutes 22 | 23 | Looked at https://reviews.freebsd.org/D7474 and approach is not ideal. Better to do generic solution with `rc.subr` `${name}_supervise` or `${name}_autorestart_` 24 | 25 | 26 | TODO: include motivation for rc improvements. (from igalic website somewhere) 27 | 28 | 29 | ## Problems with RC 30 | 31 | Service dependency management is very brittle. Requires modifying rc scripts. 32 | No easy way to override default changes in a way that does not conflict with base. 33 | Dependency ordering is done by magic comments + `rcorder`, this approach presents no API 34 | to control this other than just editing files directly. 35 | 36 | RC is not parallel. An attempt to add parallelism was made a year ago and was reverted quickly. 37 | 38 | Desired Properties for RC replacement/successor: 39 | - parallelism by default 40 | - supervision by default 41 | - introspection / debugging (aka systemd analyze blame or similar) 42 | - 1:many 43 | 44 | Where to start with RC replacement/evolution: 45 | - Have rc start our new thing 46 | - new thing takes over rc scripts by bit 47 | - start with base system (and our favorite ports) 48 | - eventually, we switch: that is: we start rc 49 | - extend `service` tool to manage both old rc managed services and new 50 | - modify old rc.d/ script? (igalic: confusing for the end user. better idea: modify rc script to do nothing but emit warning message to use `service`) 51 | 52 | 53 | How does the "new thing" handle process tracking? 54 | Login classes are very good candidate. 55 | 56 | Can login classes be created on the fly? `{set|get}logincalss` syscalls suggest that. More experimentation is required. 57 | Login classes do not have hierarchy 58 | It is possible to track a tree of processes via kqueue `EVFILT_PROC` + `NOTE_TRACK` 59 | 60 | 61 | ### Planned Daemon Improvements 62 | 63 | - General code quiality improvement & cleanup 64 | - procctl `PROC_REAP_ACQUIRE` 65 | - procctl `PROC_NO_NEW_PRIVS_CTL` 66 | - kqueue instead of signals 67 | - [Bug #268580: Add shutdown delay to daemon(8)](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268580) 68 | - [Bug #236117: /usr/sbin/daemon should support stdin,stdout,stderr redirect to files other than /dev/null](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236117) 69 | - [Bug #254511: daemon(8): Allow to set daemonized process realtime or idletime scheduling priority](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254511) 70 | - [Bug #212829: daemon(8) using -P swallows signals such as SIGHUP instead of propagating them](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212829) 71 | 72 | 73 | ### Improving Login Class for our Use-case 74 | 75 | Add hierarchy (parent-child): 76 | - extend struct loginclass by parent parameter 77 | - extend libc and kernel side's (sys_)setloginclass by parent parameter 78 | - in libc: Make function VAR_ARG to not break API 79 | - Find out whether this would still break ABI 80 | - allow sub-classing classes 81 | - allow subclassing without root privilege (default->me->some_service) 82 | 83 | note that the initial conception of rctl, which gave birth to login classes had a vision of [Hierarchical Resource Limits](https://wiki.freebsd.org/Hierarchical_Resource_Limits). 84 | We are interpreting this to mean that login classes could be hierarchical, too. 85 | Class, in many OOP senses also implies hierarchies. 86 | -------------------------------------------------------------------------------- /supervision/README.md: -------------------------------------------------------------------------------- 1 | # Supervision Workgroup 2 | 3 | 4 | The goal of the group is improving FreeBSD in the following areas: 5 | 6 | - process tracking 7 | - process resource control 8 | - process confinement 9 | - process supervision 10 | - service management 11 | - tools and languages for the above 12 | 13 | You can find us (ngortheone & meena) in #FreeBSD-dev on LibraChat where we frequently talk about these things. 14 | This is probably also the easiest channel to join this group. 15 | For now, we're planning to [meet bi-weekly](./schedule.md) using KDE's BBB infrastructure. 16 | 17 | The following is a closer outline of the above topics 18 | 19 | ## Process Tracking 20 | 21 | Process tracking is how we reliably track the state of process, such that we can always say if the process is up or down. 22 | For example: Linux PID namespace, tracked but not confined. 23 | cgroups also fit in, if we forget for a moment that cgroups are also resource management tools. 24 | namespace, tracked but not confined. cgroups also fit in, if we forget for a 25 | moment that cgroups are also resource management tools) 26 | 27 | ## Process Resource Control 28 | 29 | Process resource control is how we ensure that a process consumes no more than the allocated amount of resources. 30 | For example: [`rctl(8)`](https://man.freebsd.org/rctl(8)), cgroups. 31 | Resource control relies on process tracking. 32 | 33 | 34 | ## Process Confinement 35 | 36 | Process confinement is how we run a process in a deterministic sandbox, 37 | such that the process has no way of escaping (example: chroot, confined but not tracked), 38 | and only is allowed access to a pre-defined environment (files, network interfaces, etc) 39 | 40 | Process Confinment requries reliable tracking. 41 | 42 | 43 | ## Process Supervision 44 | 45 | Process supervision answers the following questions: 46 | - How do we ensure that a process is always in a desired state? 47 | - What types of supervised processes are there? 48 | - Did the process exit successfully or do we need to restart it? 49 | - How do we reliably and repeatably start and stop the process? 50 | 51 | Process supervision requires reliable tracking. 52 | 53 | ## Service Management 54 | 55 | Service management is how we bring groups of processes or the whole system into the desired state. 56 | This in turn requires knowing: 57 | - which services and processes need to be up, in what order? 58 | - how to transition reliably between system states? 59 | 60 | Service management requires process supervision 61 | 62 | ## Tools and Languages 63 | 64 | Shell, Lua, C 65 | 66 | ### Existing Supervision-Related Tools 67 | 68 | … and their respective problems: 69 | 70 | Tool | Tracking | Confinment | Resource Control | Supervision 71 | ----------|----------| -----------|------------------|------------- 72 | chroot | No | limited: only mount namespace| No | No 73 | jail | JID | Strong | via rctl | No 74 | daemon | parent/child | No | No | very basic 75 | rctl | imperfect| No | Yes | No 76 | login classes| imperfect | No | Yes + Rctl | No 77 | process groups| imperfect| No | No | No 78 | 79 | -------------------------------------------------------------------------------- /supervision/schedule.md: -------------------------------------------------------------------------------- 1 | We'd like to start with bi-weekly schedule. 2 | 3 | We meet meet at 21:00 UTC using the KDE BBB infrastructure. 4 | 5 | With our first 23rd March 2023 our next meetings will be: 6 | 7 | Date | Agenda / Notes 8 | -----+--------------- 9 | 23rd March 2023 | [Notes](./2023-03-23.md) 10 | 6th April 2023 | [Notes](./2023-04-06.md) 11 | 20th April 2023 | [Notes](./2023-04-20.md) 12 | 4th May 2023 | [Notes](./2023-05-04.md) 13 | 18th May 2023 | [Notes](./2023-05-18.md) 14 | etc… | etc… 15 | -------------------------------------------------------------------------------- /workflow/20211020.md: -------------------------------------------------------------------------------- 1 | # 2021-10-20 Workflow Refinement Working Group 2 | 3 | Attending: 4 | * Warner Losh (imp@) 5 | * Glen Barber (gjb@) 6 | * Brooks Davis (brooks@) 7 | * Alan Somers (asomers@) 8 | * Merv Hammer 9 | * Dave Cottlehuber (dch@) 10 | * Shawn Webb 11 | * Faraz Vahedi 12 | * Konstantin Belousov (kib@) 13 | * Ed Maste (emaste@) 14 | * Stefan Esser (se@) 15 | 16 | Tried to attend but couldn't due to inaccessible format despite raising concerns with the organizer weeks ago: 17 | * Pau Amma 18 | 19 | ## Agenda (copied from agenda.md file, to be editing during the meeting) 20 | 21 | Our next meeting is at 19:00 UTC October 20, 2021. 22 | 23 | Meeting link: https://meet.google.com/jhc-qgry-qda 24 | 25 | - Welcome 26 | - Set Working Group Goals 27 | - We need a plan for a plan 28 | - We need to partition the work 29 | - Subgroups 30 | - Now the right time to create them? 31 | - Meeting Times 32 | - How often? 33 | - Split times to allow more participation? 34 | - Best way to meet 35 | - - Pau Amma: something text-based so I can attend. 36 | 37 | - what to focus on 38 | - CI 39 | - Github pull request vs Gitlab merge request 40 | - kib: Linear History on main branch highly desirable 41 | - swebb: likes 42 | - brooks: would like to see more merges 43 | - merv: linear history scales better than histories that support merges 44 | - had feeder branches certified as stable before going into main branch 45 | - kib: not a huge harm from having a commit that's broken 46 | - Maybe better to fix it to build the generated files at kernel build time not checkin time 47 | - Does this imply not doing per-commit/per-push CI builds? 48 | - build is shorter than running all of the tests 49 | - phabricator needs to stick around for a long time, at least so we can go look at context for old commits. 50 | - docs (including manual pages) probably have different CI requirements (check markup, render), and need fast turnover not to get thrown off the groove 51 | 52 | ## CI 53 | 54 | - aren't full builds on each commit painful? (merv@) 55 | - not too bad in practice, look at Cheri's example from brooks@ 56 | - we have some options from Microsoft etc (imp@) 57 | - ports might need some care, many core builds are heavy on the dependencies (most compilers) (dch@) 58 | - tests are more important, and heavier usage (kib@) 59 | - what about speeding builds? ccache, NO_CLEAN, skipping compiler (gjb@) 60 | 61 | next steps 62 | 63 | - consensus we should do this 64 | - do some experiments to get a feel for costs 65 | 66 | ## Code Reviews 67 | 68 | - the elephant - what about phab?? 69 | - we need to keep phab at least readonly because context & history is critical (kib) 70 | - self-hosted stuff means a lot of possibilities for breakage, accounts, maintenance (shawn) 71 | - where do we keep the history - should we use mailboxes for this? (dch@) 72 | - conflicting reports - integrated tools suck vs too many accounts (imp@) 73 | 74 | ## BugZilla 75 | 76 | - Working well enough 77 | - Finding information a little harder 78 | - Should look at more integrated things, but there's not a huge gain over what we have 79 | - We likely should customize it further 80 | 81 | ## GitHub/GitLab 82 | 83 | - self hosted vs 3rd party hosted is a later discussion 84 | - For 3rd party hosting, deplatforming is a concern 85 | - OAUTH issues using third-party authentication (twitter, facebook, google, etc.) during an external outage should also be considered 86 | - Have plenty of other issues to consider first 87 | 88 | ## Meta issues 89 | 90 | - Single sign in, OAUTH, etc to support github/gitlab/google/etc 91 | - Tends to be friction because they are all separate 92 | - there is a massive amount of "project" tooling and automation, as well as personal committers stuff 93 | - information overload 94 | -------------------------------------------------------------------------------- /workflow/20211027.md: -------------------------------------------------------------------------------- 1 | # FreeBSD Git / Workflow Working Group Agenda 2 | 3 | Attendees: 4 | * Warner Losh (imp@) 5 | * Glen Barber (gjb@) 6 | * Merv Hammer 7 | * Marc Branchaud 8 | * Kristof Provost (kp@) 9 | * Konstantin Belousov (kib@) 10 | * Ed Maste (emaste@) 11 | * Ken Bynell 12 | * Stefan Esser (se@) 13 | * Brooks Davis (brooks@) 14 | 15 | Deprived of a way to attend for the second time going, despite raising the issue 7 weeks ago: Pau Amma 16 | 17 | This document contains the agenda for the next meeting. 18 | 19 | Our next meeting is at 19:00 UTC October 27, 2021. 20 | 21 | Meeting link: https://meet.google.com/jhc-qgry-qda 22 | 23 | We'll take notes at: https://hackmd.io/ydgsBTHZTj6Ne9qoqOn1Ng 24 | 25 | - Welcome 26 | - Set Working Group Goals: Continue working on a plan 27 | - Create a few major items and put name(s) next to each of them 28 | - CI on (lwhsu, asommers, merv hammer?) 29 | - Running on 'runners', most FreeBSD version are available 30 | - CirrusCI can run anything we publish tot the cloud 31 | - CirrusCI will need care and feeding so downstream projects aren't broken 32 | - Cheri has config files that call back to their Jenkins servers 33 | - Brooks can provide copies of config files for us adopt for FreeBSD 34 | - Warner will talk with lwshu to gauge the interest in all the details of the CHERI's CI system. 35 | - Triggers only against some branches 36 | - CHERI cuts a lot of things out to make things faster. 37 | - Bugzilla (koobs) 38 | - It's koobs' baby 39 | - Phabricator 40 | - Revisit after 3 months 41 | - Long term goals for FreeBSD Project document 42 | - Little current interest 43 | - Short term pain points to focus on 44 | - git arc improvements 45 | - phabricator / git integration 46 | - documentation 47 | - Others? 48 | - Get rough timelines for each of these 49 | - Next Meeting 50 | - Time to be friendlier to Asia 51 | - Next week, early Wednesday Asia time, late Tuesday for 52 | everybody else. 53 | - Request for text-only meetings: poll for sentiment 54 | - Pau Amma would like to go on record as objecting that letting him attend depends on public sentiment and not on the code of conduct. 55 | - People have noted that there's a transcript / close captioning feature in Google meet that can provide real-time closed captions to the meeting that are mostly accurate (but with some issues with names and foreign words or both). 56 | -------------------------------------------------------------------------------- /workflow/agenda.md: -------------------------------------------------------------------------------- 1 | # FreeBSD Git / Workflow Working Group Agenda 2 | 3 | NOTE: Prior meeting notes can be found at https://gitlab.com/bsdimp/freebsd-workflow 4 | 5 | Attendees: 6 | * Warner Losh (imp@) 7 | 8 | This document contains the agenda for the next meeting. 9 | 10 | Our next meeting is at 18:00 UTC November 10, 2021 11 | 12 | Meeting link: https://meet.google.com/jhc-qgry-qda 13 | 14 | We'll take notes at: https://hackmd.io/ydgsBTHZTj6Ne9qoqOn1Ng 15 | 16 | - Welcome 17 | - Discuss shifts in how we're doing things 18 | - Recording this meeting 19 | - Rotating schedule to mix groups 20 | - 1800 UTC -> 2200 UTC -> 0300 UTC 21 | - View meetings as every 3rd week, with the 2200 time slot for exchange. Can tweak the times a little since overlap needed is smaller. 22 | - Move some things to email / shared docs 23 | - Try to break items down into actionable actions 24 | -------------------------------------------------------------------------------- /workflow/index.md: -------------------------------------------------------------------------------- 1 | FreeBSD Work Flow Working group 2 | =============================== 3 | 4 | This repository contains various working documents for the FreeBSD work flow 5 | improvement group. 6 | 7 | Next meeting info link:/meetings/agenda.md[here] 8 | 9 | .This working group's efforts is focused on the following areas: 10 | . Creating CI pipelines 11 | . What to do about Phabricator 12 | . What to do about Bugzilla 13 | . Best way to accept pull requests 14 | . Making it easier to find relevant feedback 15 | . Vendor Import Issues 16 | . Repo integrity 17 | 18 | == Creating CI pipeline 19 | 20 | Currently, we use Jenkins to run a CI pipeline after each commit. 21 | However, this is done after the commits are made. 22 | It's difficult for developers to run themselves before commits. 23 | Not currently integrated into gitlab or github CI infrastructure. 24 | 25 | The focus of the working group will be to see what we can do to increase access to CI pipelines. 26 | 27 | In addition, due to our large testing matrix, are there smart ways that we can optimize the pipelines. 28 | 29 | What testing and experimentaiton do we need to do for us to make our decisions? 30 | 31 | == Phabricator 32 | 33 | The main developers of Phabricator have announced that it is at EOL. 34 | They will not continue to maintain it. 35 | Community efforts, lead primarily by wikimedia, has sprung up. 36 | 37 | .Current questions to consider: 38 | * The question that needs to be answered is what do we do with Phabricator? 39 | * Do we join the community efforts to keep it alive? 40 | * Do we stand up another service? 41 | * Do we move to something else hosted elsewhere? 42 | ** Github has code review on its pull requests 43 | ** Gitlab has code review for its modification requests 44 | 45 | == Bugzilla 46 | 47 | The project has used Bugzilla for some time now. 48 | We've done some unnatural things with it. 49 | We've also done some cool things to automate some workflows in the project. 50 | 51 | * Does Bugzilla fit our needs? 52 | * Are we doing things in Bugzilla that are better done with other tools? 53 | ** Pull Requests 54 | ** Maintainer Feedback 55 | ** ExpRun management 56 | 57 | == Pull Requests 58 | 59 | A lot of people want to accept pull requests. 60 | Today, the project will land pull requests that wind up in github mirror, but we don't guarantee that. 61 | We have some CI pipelines that run for pull requests, but coverage is weak. 62 | 63 | * Should Pull Requests be the primary way to get things into the tree? 64 | * Is there a service that we should use for this? 65 | * What's the relative merits of gitlab vs github for this service? 66 | * Do we want a single point that flows into the tree, or multiple flows into the tree + tooling? 67 | ** There's much diversity in how open source projects do this, we should survey to find out what's working and what's not. 68 | 69 | == Information Overload 70 | 71 | One of the big complaints with project has been dropped patches. 72 | Another complaint from developers is that it's hard to find relevant information to into the tree. 73 | How do we address these issues? 74 | 75 | == Vendor Import Issues 76 | 77 | We currently have an OK vendor import, but there's problems with it. 78 | 79 | * must use `git bisect start --first-parent` only 80 | * openzfs branch doesn't have non-zfs FreeBSD files 81 | * Tag for each import (is this a problem?) 82 | * Why not submodules? 83 | * Alternatively, why not `git subtree merge --squash`? 84 | 85 | == Repo Integrity 86 | 87 | Do we want to sign all commits? 88 | --------------------------------------------------------------------------------