Message ID | 1651509391-2058-1-git-send-email-mikelley@microsoft.com |
---|---|
Headers | show |
Series | Remove support for Hyper-V 2008 and 2008R2/Win7 | expand |
From: Pavel Machek <pavel@ucw.cz> Sent: Wednesday, May 4, 2022 10:23 AM > > Hi! > > > Linux code for running as a Hyper-V guest includes special cases for the > > first released versions of Hyper-V: 2008 and 2008R2/Windows 7. These > > versions were very thinly used for running Linux guests when first > > released more than 12 years ago, and they are now out of support > > (except for extended security updates). As initial versions, they > > lack the performance features needed for effective production usage > > of Linux guests. In total, there's no need to continue to support > > the latest Linux kernels on these versions of Hyper-V. > > > > Simplify the code for running on Hyper-V by removing the special > > cases. This includes removing the negotiation of the VMbus protocol > > versions for 2008 and 2008R2, and the special case code based on > > those VMbus protocol versions. Changes are in the core VMbus code and > > several drivers for synthetic VMbus devices. > > > 2008 and 2008R2, so if the broader Linux kernel community surfaces > > a reason why this clean-up should not be done now, we can wait. > > But I think we want to eventually stop carrying around this extra > > baggage, and based on discussions with the Hyper-V team within > > Microsoft, we're already past the point that it has any value. > > Normal way to do such deprecations is to put printks in first, then hide it > under config option noone sets, and wait for year or so if anyone complains. > Are there any examples of doing these deprecation steps that you can point me to? I did not see anything in the Documentation directory covering the deprecation process you describe. I'd also make the case that we are already well down the deprecation path. For at least the last 5 years, the public Microsoft documentation for Linux guests has listed Hyper-V 2012 R2 as the earliest supported Hyper-V version. Other current and new Microsoft products aren't supported on Hyper-V 2008/Win7 either -- the usual Word/Excel/ PowerPoint, etc. fall into this category as well as Windows 10 and Windows 11 as guests. So for a rare user who might still be using Hyper-V 2008/Win7, there's no reasonable expectation of being able to run the latest upstream Linux kernel on Hyper-V 2008/Win7. Other current software doesn't. Given that running Linux guests on Hyper-V sort of implicitly combines Microsoft commercial thinking and Linux open source thinking about version support, I could see putting the old Hyper-V version support under a config option that defaults to "no", with a deprecation comment, and seeing if that garners any complaints. But given the broader situation with Hyper-V 2008/Win7, in my judgment even that is more cautious than we need to be. Michael > We can't really remove code that is in use. > > Best regards, > Pavel
On Sun, May 08, 2022 at 03:43:26PM +0000, Michael Kelley (LINUX) wrote: > From: Pavel Machek <pavel@ucw.cz> Sent: Wednesday, May 4, 2022 10:23 AM > > > > Hi! > > > > > Linux code for running as a Hyper-V guest includes special cases for the > > > first released versions of Hyper-V: 2008 and 2008R2/Windows 7. These > > > versions were very thinly used for running Linux guests when first > > > released more than 12 years ago, and they are now out of support > > > (except for extended security updates). As initial versions, they > > > lack the performance features needed for effective production usage > > > of Linux guests. In total, there's no need to continue to support > > > the latest Linux kernels on these versions of Hyper-V. > > > > > > Simplify the code for running on Hyper-V by removing the special > > > cases. This includes removing the negotiation of the VMbus protocol > > > versions for 2008 and 2008R2, and the special case code based on > > > those VMbus protocol versions. Changes are in the core VMbus code and > > > several drivers for synthetic VMbus devices. > > > > > 2008 and 2008R2, so if the broader Linux kernel community surfaces > > > a reason why this clean-up should not be done now, we can wait. > > > But I think we want to eventually stop carrying around this extra > > > baggage, and based on discussions with the Hyper-V team within > > > Microsoft, we're already past the point that it has any value. > > > > Normal way to do such deprecations is to put printks in first, then hide it > > under config option noone sets, and wait for year or so if anyone complains. > > > > Are there any examples of doing these deprecation steps that you can > point me to? I did not see anything in the Documentation directory > covering the deprecation process you describe. > > I'd also make the case that we are already well down the deprecation > path. For at least the last 5 years, the public Microsoft documentation > for Linux guests has listed Hyper-V 2012 R2 as the earliest supported > Hyper-V version. Other current and new Microsoft products aren't > supported on Hyper-V 2008/Win7 either -- the usual Word/Excel/ > PowerPoint, etc. fall into this category as well as Windows 10 and Windows > 11 as guests. So for a rare user who might still be using Hyper-V > 2008/Win7, there's no reasonable expectation of being able to run > the latest upstream Linux kernel on Hyper-V 2008/Win7. Other > current software doesn't. > > Given that running Linux guests on Hyper-V sort of implicitly > combines Microsoft commercial thinking and Linux open source > thinking about version support, I could see putting the old Hyper-V > version support under a config option that defaults to "no", with a > deprecation comment, and seeing if that garners any complaints. > But given the broader situation with Hyper-V 2008/Win7, in my > judgment even that is more cautious than we need to be. > In general we should trust the judgement from the main developers. There have been recent examples that things are dropped without any deprecation warnings. See below. By and large the usefulness of the code in kernel relies on a lot of factors. In this particular case, I don't think adding a KCONFIG makes sense. Printing a warning in _guest_ won't help. Whoever still runs these ancient versions has had ample warnings. Thanks, Wei. commit c645a883df34ee10b884ec921e850def54b7f461 Author: NeilBrown <neilb@suse.de> AuthorDate: Thu Sep 2 11:15:29 2021 +1000 Commit: J. Bruce Fields <bfields@redhat.com> CommitDate: Sat Oct 2 15:51:10 2021 -0400 NFSD: drop support for ancient filehandles Filehandles not in the "new" or "version 1" format have not been handed out for new mounts since Linux 2.4 which was released 20 years ago. I think it is safe to say that no such file handles are still in use, and that we can drop support for them. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com> commit 9b472e85d098a40b84dd8b33fbf8a15ab1452025 Author: Nick Desaulniers <ndesaulniers@google.com> AuthorDate: Thu May 6 18:04:54 2021 -0700 Commit: Linus Torvalds <torvalds@linux-foundation.org> CommitDate: Fri May 7 00:26:32 2021 -0700 gcov: clang: drop support for clang-10 and older LLVM changed the expected function signatures for llvm_gcda_start_file() and llvm_gcda_emit_function() in the clang-11 release. Drop the older implementations and require folks to upgrade their compiler if they're interested in GCOV support. Link: https://reviews.llvm.org/rGcdd683b516d147925212724b09ec6fb792a40041 Link: https://reviews.llvm.org/rG13a633b438b6500ecad9e4f936ebadf3411d0f44 Link: https://lkml.kernel.org/r/20210312224132.3413602-3-ndesaulniers@google.com Link: https://lkml.kernel.org/r/20210413183113.2977432-1-ndesaulniers@google.com Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Suggested-by: Nathan Chancellor <nathan@kernel.org> Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Fangrui Song <maskray@google.com> Cc: Prasad Sodagudi <psodagud@quicinc.com> Cc: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
On Mon, May 02, 2022 at 09:36:27AM -0700, Michael Kelley wrote: > Linux code for running as a Hyper-V guest includes special cases for the > first released versions of Hyper-V: 2008 and 2008R2/Windows 7. These > versions were very thinly used for running Linux guests when first > released more than 12 years ago, and they are now out of support > (except for extended security updates). As initial versions, they > lack the performance features needed for effective production usage > of Linux guests. In total, there's no need to continue to support > the latest Linux kernels on these versions of Hyper-V. > > Simplify the code for running on Hyper-V by removing the special > cases. This includes removing the negotiation of the VMbus protocol > versions for 2008 and 2008R2, and the special case code based on > those VMbus protocol versions. Changes are in the core VMbus code and > several drivers for synthetic VMbus devices. > > Some drivers have driver-specific protocols with the Hyper-V host and > may have versions of those protocols that are limited to 2008 and > 2008R2. This patch set does the clean-up only for the top-level > VMbus protocol versions, and not the driver-specific protocols. > Cleaning up the driver-specific protocols can be done with > follow-on patches. > > There's no specific urgency to removing the special case code for > 2008 and 2008R2, so if the broader Linux kernel community surfaces > a reason why this clean-up should not be done now, we can wait. > But I think we want to eventually stop carrying around this extra > baggage, and based on discussions with the Hyper-V team within > Microsoft, we're already past the point that it has any value. > > Michael Kelley (4): > Drivers: hv: vmbus: Remove support for Hyper-V 2008 and Hyper-V > 2008R2/Win7 > scsi: storvsc: Remove support for Hyper-V 2008 and 2008R2/Win7 > video: hyperv_fb: Remove support for Hyper-V 2008 and 2008R2/Win7 > drm/hyperv: Remove support for Hyper-V 2008 and 2008R2/Win7 Applied to hyperv-next.