X-Git-Url: https://git.tld-linux.org/?p=packages%2Fgrub2.git;a=blobdiff_plain;f=efi-net-fix.patch;h=b36640470ecec045a67512baeb92239d8f00b7bd;hp=41872c001d2da17788408ef25884f1d264c5ee6b;hb=ccc85a859731b664685ffc8639c32cf586f5f3c6;hpb=8b86dadf5ba706a8bc5d4bb58355b5b23f823225 diff --git a/efi-net-fix.patch b/efi-net-fix.patch index 41872c0..b366404 100644 --- a/efi-net-fix.patch +++ b/efi-net-fix.patch @@ -1,30 +1,7 @@ -From 886d93184b894a29b0bef1f2467230a20c7a33ce Mon Sep 17 00:00:00 2001 -From: Mark Salter -Date: Tue, 8 Apr 2014 10:58:11 -0400 -Subject: [PATCH] reopen SNP protocol for exclusive use by grub - -While working with pxeboot of grub on an ARM platform, I noticed -very poor network performance while grub was loading a kernel -and initramfs. The performance during the loading of grub itself -seemed reasonable. Digging into the issue, I found that the UEFI -firmware was periodically polling for network packets while grub -was downloading files. This was causing timeouts and retries in -the grub network stack. - -The solution I found was to reopen the SNP protocol for exclusive -use. This forces UEFI to shutdown its use of SNP so that grub is -not competing for incoming packets. - -Signed-off-by: Mark Salter ---- - grub-core/net/drivers/efi/efinet.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c -index 2b344d6..a6e4c79 100644 ---- a/grub-core/net/drivers/efi/efinet.c -+++ b/grub-core/net/drivers/efi/efinet.c -@@ -223,6 +223,7 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device, +diff -ur grub-2.02-beta3.orig/grub-core/net/drivers/efi/efinet.c grub-2.02-beta3/grub-core/net/drivers/efi/efinet.c +--- grub-2.02-beta3.orig/grub-core/net/drivers/efi/efinet.c 2016-02-28 02:07:41.000000000 +0000 ++++ grub-2.02-beta3/grub-core/net/drivers/efi/efinet.c 2016-03-21 07:56:01.589768000 +0000 +@@ -330,6 +330,7 @@ { struct grub_net_card *card; grub_efi_device_path_t *dp; @@ -32,7 +9,7 @@ index 2b344d6..a6e4c79 100644 dp = grub_efi_get_device_path (hnd); if (! dp) -@@ -250,6 +251,21 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device, +@@ -383,6 +384,21 @@ &pxe_mode->dhcp_ack, sizeof (pxe_mode->dhcp_ack), 1, device, path); @@ -54,6 +31,3 @@ index 2b344d6..a6e4c79 100644 return; } } --- -1.8.5.3 -