freebsd / fcp

The FreeBSD Community Proposal Repository
BSD 2-Clause "Simplified" License
25 stars 26 forks source link

FCP-0101: Options to think about #23

Closed cschuber closed 5 years ago

cschuber commented 6 years ago

Please don't take this as anything but an observation.

First of all, I fully understand the position taken by this paper. There are only so many resources available to The Project. This kind of reminds me of direction I was given when I was working as an MVS systems programmer writing kernel code for the IBM mainframe. My director at the time had an 80/20 rule whereby he did not want to pay [my salary] for features that only 20% of the install base might want to use. I fully understand this and as a FreeBSD developer, with very limited time myself: I have more projects I want to finish in my pipeline than I have time to sit down focus my attention on in the near future. I'm sure other people in The Project are most likely in the same position. This position of the paper is totally understandable.

OTOH, I see the drivers that are being proposed removed here are supported by the other BSDs and many Linux distros, including Red Hat (& Fedora). I don't think we want to place ourselves in the position or have the reputation that we support only* the newest of hardware. Maybe when the drivers are removed they be moved to ports and supported on a best efforts basis, like drm will be. This is certainly an option.

Another option might be to a Linux KPI shim, like DRM is using, to support, using Linux drivers, NICs we may not want to support in base ourselves or support new hardware until we have better (better performing) native support. (The lag between when Linux supports new hardware and FreeBSD does is sometimes noticeable and people have asked me this in person on many occasions.)

Finally, I'm not saying "let's not do this." I fully understand the issues. I am asking where to from here?

Thoughts?

kev009 commented 6 years ago

Yeah if there is a desire it wouldn't be hard to have staging and legacy drivers in ports. I think that's a pretty good solution for all concerned going forward.

Some philosophical perspective.. when I had a BSD team at $job-1, my primary concern for us when focused on community stewardship was the past decade of hardware as the sweet spot (which aligned nicely with the business needs), and I was generally sympathetic to time spent on the past 20 years of HW. To put that into perspective, 1998, that is Pentium IIs and maybe some of the NICs that were excluded like fxp. This is why we brought lem(4) into iflib e1000 for instance.

WRT other BSDs, NetBSD is structured a lot better to maintain a lot of toolchains, archs, and devices. Linux' breadth is simply dizzying. There are different values, community size and contributors, and it reflects on the agility and interests of the respective communities. There are definitely trade offs.

I am very opposed to using LKPI for Ethernet drivers. It's not necessary because the surface area is small whereas drm rivals the entire rest of any kernel.

bsdimp commented 6 years ago

I think marking as deprecated is fine. We can do as many of those as we want w/o a problem. If there's actual users of the code, it's better to keep it in the tree. If there aren't, we're better off retiring. That's why I suggested that any device get "10" votes from people that can show it working in their 12.0 system should be retained. The popular ones should have no trouble with that. We've put our thumb on the scales a little with the devices selected to cut down on the noise when this gets discussed. Having extra indirection here with ports makes no sense at all. The only reason we're doing it for graphics is because of its velocity of upstream and the fact it is asynchronous to our release cycles. To be honest, we're still working out the details. We really need a good 'phone home' data collection system so we can make more informed choices rather than picking the noisiest people.

brooksdavis commented 5 years ago

Most drivers on this list (probably including several on the exception list already) are unlikely to approach 0.1% of our user base.

I've updated the document setting a pretty low bar for keeping drivers and allowing any driver to be kept if it's updated to iflib.

cschuber commented 5 years ago

I'm likely to move rl(4) to ports to keep my old laptop relevant until it's no longer needed for testing i386 on real hardware.


Sent using a tiny phone keyboard. Apologies for any typos and autocorrect. Also, this old phone only supports top post. Apologies.

Cy Schubert Cy.Schubert@cschubert.com or cy@freebsd.org The need of the many outweighs the greed of the few.

-----Original Message----- From: Brooks Davis Sent: 03/10/2018 13:52 To: freebsd/fcp Cc: Cy Schubert; Author Subject: Re: [freebsd/fcp] FCP-0101: Options to think about (#23)

Most drivers on this list (probably including several on the exception list already) are unlikely to approach 0.1% of our user base.

I've updated the document setting a pretty low bar for keeping drivers and allowing any driver to be kept if it's updated to iflib.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread. {"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/freebsd/fcp","title":"freebsd/fcp","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/freebsd/fcp"}},"updates":{"snippets":[{"icon":"PERSON","message":"@brooksdavis in #23: Most drivers on this list (probably including several on the exception list already) are unlikely to approach 0.1% of our user base.\r\n\r\nI've updated the document setting a pretty low bar for keeping drivers and allowing any driver to be kept if it's updated to iflib."}],"action":{"name":"View Issue","url":"https://github.com/freebsd/fcp/issues/23#issuecomment-426797707"}}} [ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/freebsd/fcp/issues/23#issuecomment-426797707", "url": "https://github.com/freebsd/fcp/issues/23#issuecomment-426797707", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } }, { "@type": "MessageCard", "@context": "http://schema.org/extensions", "hideOriginalBody": "false", "originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB", "title": "Re: [freebsd/fcp] FCP-0101: Options to think about (#23)", "sections": [ { "text": "", "activityTitle": "Brooks Davis", "activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png", "activitySubtitle": "@brooksdavis", "facts": [ ] } ], "potentialAction": [ { "name": "Add a comment", "@type": "ActionCard", "inputs": [ { "isMultiLine": true, "@type": "TextInput", "id": "IssueComment", "isRequired": false } ], "actions": [ { "name": "Comment", "@type": "HttpPOST", "target": "https://api.github.com", "body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"freebsd/fcp\",\n\"issueId\": 23,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}" } ] }, { "targets": [ { "os": "default", "uri": "https://github.com/freebsd/fcp/issues/23#issuecomment-426797707" } ], "@type": "OpenUri", "name": "View on GitHub" }, { "name": "Unsubscribe", "@type": "HttpPOST", "target": "https://api.github.com", "body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 374719409\n}" } ], "themeColor": "26292E" } ]