Добавлено ядро calculate-sources 4.10.1

rasdark 873
Alexander Tratsevskiy 7 years ago
parent eb038eef3a
commit 2d17a05f8f

@ -0,0 +1 @@
# Calculate append=skip merge(sys-kernel/calculate-sources)=>4.9,4.10

@ -0,0 +1,104 @@
# Calculate format=diff os_linux_system==desktop
From 8500f47272575b4616beb487c483019248d8c501 Mon Sep 17 00:00:00 2001
From: Paolo Valente <paolo.valente@unimore.it>
Date: Tue, 7 Apr 2015 13:39:12 +0200
Subject: [PATCH 1/4] block: cgroups, kconfig, build bits for BFQ-v7r11-4.10.0
Update Kconfig.iosched and do the related Makefile changes to include
kernel configuration options for BFQ. Also increase the number of
policies supported by the blkio controller so that BFQ can add its
own.
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini@google.com>
---
block/Kconfig.iosched | 32 ++++++++++++++++++++++++++++++++
block/Makefile | 1 +
include/linux/blkdev.h | 2 +-
3 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
index 421bef9..0ee5f0f 100644
--- a/block/Kconfig.iosched
+++ b/block/Kconfig.iosched
@@ -39,6 +39,27 @@ config CFQ_GROUP_IOSCHED
---help---
Enable group IO scheduling in CFQ.
+config IOSCHED_BFQ
+ tristate "BFQ I/O scheduler"
+ default n
+ ---help---
+ The BFQ I/O scheduler tries to distribute bandwidth among
+ all processes according to their weights.
+ It aims at distributing the bandwidth as desired, independently of
+ the disk parameters and with any workload. It also tries to
+ guarantee low latency to interactive and soft real-time
+ applications. If compiled built-in (saying Y here), BFQ can
+ be configured to support hierarchical scheduling.
+
+config CGROUP_BFQIO
+ bool "BFQ hierarchical scheduling support"
+ depends on CGROUPS && IOSCHED_BFQ=y
+ default n
+ ---help---
+ Enable hierarchical scheduling in BFQ, using the cgroups
+ filesystem interface. The name of the subsystem will be
+ bfqio.
+
choice
prompt "Default I/O scheduler"
default DEFAULT_CFQ
@@ -52,6 +73,16 @@ choice
config DEFAULT_CFQ
bool "CFQ" if IOSCHED_CFQ=y
+ config DEFAULT_BFQ
+ bool "BFQ" if IOSCHED_BFQ=y
+ help
+ Selects BFQ as the default I/O scheduler which will be
+ used by default for all block devices.
+ The BFQ I/O scheduler aims at distributing the bandwidth
+ as desired, independently of the disk parameters and with
+ any workload. It also tries to guarantee low latency to
+ interactive and soft real-time applications.
+
config DEFAULT_NOOP
bool "No-op"
@@ -61,6 +92,7 @@ config DEFAULT_IOSCHED
string
default "deadline" if DEFAULT_DEADLINE
default "cfq" if DEFAULT_CFQ
+ default "bfq" if DEFAULT_BFQ
default "noop" if DEFAULT_NOOP
endmenu
diff --git a/block/Makefile b/block/Makefile
index a827f98..3b14703 100644
--- a/block/Makefile
+++ b/block/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
+obj-$(CONFIG_IOSCHED_BFQ) += bfq-iosched.o
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 1ca8e8f..8e2d6ed 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -47,7 +47,7 @@ struct rq_wb;
* Maximum number of blkcg policies allowed to be registered concurrently.
* Defined here to simplify include dependency.
*/
-#define BLKCG_MAX_POLS 2
+#define BLKCG_MAX_POLS 3
typedef void (rq_end_io_fn)(struct request *, int);
--
2.10.0

@ -0,0 +1,362 @@
# Calculate format=kernel name=.config os_linux_system==server
# CONFIG_CYPRESS_FIRMWARE is not set
# CONFIG_DRM_I810 is not set
# CONFIG_DVB_TUNER_DIB0070 is not set
# CONFIG_DVB_TUNER_DIB0090 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_HZ_300=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_MACINTOSH_DRIVERS is not set
# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
# CONFIG_MEDIA_CAMERA_SUPPORT is not set
# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
# CONFIG_MEDIA_PCI_SUPPORT is not set
# CONFIG_MEDIA_SDR_SUPPORT is not set
# CONFIG_MEDIA_USB_SUPPORT is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_NONE=y
CONFIG_TREE_RCU=y
# CONFIG_TTPCI_EEPROM is not set
!CONFIG_DVB_AF9013=
!CONFIG_DVB_AF9033=
!CONFIG_DVB_AS102=
!CONFIG_DVB_AS102_FE=
!CONFIG_DVB_AU8522=
!CONFIG_DVB_AU8522_DTV=
!CONFIG_DVB_AU8522_V4L=
!CONFIG_DVB_AV7110=
!CONFIG_DVB_AV7110_IR=
!CONFIG_DVB_AV7110_OSD=
!CONFIG_DVB_B2C2_FLEXCOP=
!CONFIG_DVB_B2C2_FLEXCOP_PCI=
!CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG=
!CONFIG_DVB_B2C2_FLEXCOP_USB=
!CONFIG_DVB_BCM3510=
!CONFIG_DVB_BUDGET=
!CONFIG_DVB_BUDGET_AV=
!CONFIG_DVB_BUDGET_CORE=
!CONFIG_DVB_BUDGET_PATCH=
!CONFIG_DVB_CORE=
!CONFIG_DVB_CX24116=
!CONFIG_DVB_CX24120=
!CONFIG_DVB_CX24123=
!CONFIG_DVB_CXD2820R=
!CONFIG_DVB_DDBRIDGE=
!CONFIG_DVB_DRXK=
!CONFIG_DVB_DYNAMIC_MINORS=
!CONFIG_DVB_EC100=
!CONFIG_DVB_FIREDTV=
!CONFIG_DVB_ISL6405=
!CONFIG_DVB_ISL6421=
!CONFIG_DVB_ISL6423=
!CONFIG_DVB_L64781=
!CONFIG_DVB_LG2160=
!CONFIG_DVB_LGDT3305=
!CONFIG_DVB_LGDT330X=
!CONFIG_DVB_LNBP21=
!CONFIG_DVB_M88DS3103=
!CONFIG_DVB_MAX_ADAPTERS=
!CONFIG_DVB_MT312=
!CONFIG_DVB_MT352=
!CONFIG_DVB_NET=
!CONFIG_DVB_NGENE=
!CONFIG_DVB_NXT200X=
!CONFIG_DVB_PLATFORM_DRIVERS=
!CONFIG_DVB_PLL=
!CONFIG_DVB_PLUTO2=
!CONFIG_DVB_PT1=
!CONFIG_DVB_PT3=
!CONFIG_DVB_RTL2830=
!CONFIG_DVB_RTL2832=
!CONFIG_DVB_RTL2832_SDR=
!CONFIG_DVB_S5H1409=
!CONFIG_DVB_S5H1411=
!CONFIG_DVB_S5H1420=
!CONFIG_DVB_SI2168=
!CONFIG_DVB_SP2=
!CONFIG_DVB_SP8870=
!CONFIG_DVB_STB0899=
!CONFIG_DVB_STV0297=
!CONFIG_DVB_STV0299=
!CONFIG_DVB_STV0900=
!CONFIG_DVB_STV090x=
!CONFIG_DVB_STV6110=
!CONFIG_DVB_STV6110x=
!CONFIG_DVB_TC90522=
!CONFIG_DVB_TDA10021=
!CONFIG_DVB_TDA10023=
!CONFIG_DVB_TDA10048=
!CONFIG_DVB_TDA1004X=
!CONFIG_DVB_TDA10086=
!CONFIG_DVB_TDA18271C2DD=
!CONFIG_DVB_TDA8083=
!CONFIG_DVB_TDA8261=
!CONFIG_DVB_TDA826X=
!CONFIG_DVB_TS2020=
!CONFIG_DVB_TTUSB_BUDGET=
!CONFIG_DVB_TTUSB_DEC=
!CONFIG_DVB_TUA6100=
!CONFIG_DVB_TUNER_CX24113=
!CONFIG_DVB_TUNER_ITD1000=
!CONFIG_DVB_USB_AF9015=
!CONFIG_DVB_USB_AF9035=
!CONFIG_DVB_USB_ANYSEE=
!CONFIG_DVB_USB_AU6610=
!CONFIG_DVB_USB_AZ6007=
!CONFIG_DVB_USB_CE6230=
!CONFIG_DVB_USB_DVBSKY=
!CONFIG_DVB_USB_EC168=
!CONFIG_DVB_USB_GL861=
!CONFIG_DVB_USB_MXL111SF=
!CONFIG_DVB_USB_RTL28XXU=
!CONFIG_DVB_USB_V2=
!CONFIG_DVB_VES1820=
!CONFIG_DVB_VES1X93=
!CONFIG_DVB_ZL10036=
!CONFIG_DVB_ZL10039=
!CONFIG_DVB_ZL10353=
!CONFIG_FRAME_VECTOR=
!CONFIG_JOYSTICK_A3D=
!CONFIG_JOYSTICK_ADI=
!CONFIG_JOYSTICK_ANALOG=
!CONFIG_JOYSTICK_AS5011=
!CONFIG_JOYSTICK_COBRA=
!CONFIG_JOYSTICK_DB9=
!CONFIG_JOYSTICK_GAMECON=
!CONFIG_JOYSTICK_GF2K=
!CONFIG_JOYSTICK_GRIP=
!CONFIG_JOYSTICK_GRIP_MP=
!CONFIG_JOYSTICK_GUILLEMOT=
!CONFIG_JOYSTICK_IFORCE=
!CONFIG_JOYSTICK_IFORCE_232=
!CONFIG_JOYSTICK_IFORCE_USB=
!CONFIG_JOYSTICK_INTERACT=
!CONFIG_JOYSTICK_JOYDUMP=
!CONFIG_JOYSTICK_MAGELLAN=
!CONFIG_JOYSTICK_SIDEWINDER=
!CONFIG_JOYSTICK_SPACEBALL=
!CONFIG_JOYSTICK_SPACEORB=
!CONFIG_JOYSTICK_STINGER=
!CONFIG_JOYSTICK_TMDC=
!CONFIG_JOYSTICK_TURBOGRAFX=
!CONFIG_JOYSTICK_TWIDJOY=
!CONFIG_JOYSTICK_WALKERA0701=
!CONFIG_JOYSTICK_WARRIOR=
!CONFIG_JOYSTICK_XPAD=
!CONFIG_JOYSTICK_XPAD_FF=
!CONFIG_JOYSTICK_XPAD_LEDS=
!CONFIG_JOYSTICK_ZHENHUA=
!CONFIG_MAC_EMUMOUSEBTN=
!CONFIG_MEDIA_ATTACH=
!CONFIG_MEDIA_COMMON_OPTIONS=
!CONFIG_MEDIA_CONTROLLER=
!CONFIG_MEDIA_SUBDRV_AUTOSELECT=
!CONFIG_MEDIA_TUNER=
!CONFIG_MEDIA_TUNER_E4000=
!CONFIG_MEDIA_TUNER_FC0011=
!CONFIG_MEDIA_TUNER_FC0012=
!CONFIG_MEDIA_TUNER_FC0013=
!CONFIG_MEDIA_TUNER_FC2580=
!CONFIG_MEDIA_TUNER_IT913X=
!CONFIG_MEDIA_TUNER_MC44S803=
!CONFIG_MEDIA_TUNER_MT2060=
!CONFIG_MEDIA_TUNER_MT2063=
!CONFIG_MEDIA_TUNER_MT20XX=
!CONFIG_MEDIA_TUNER_MT2131=
!CONFIG_MEDIA_TUNER_MXL301RF=
!CONFIG_MEDIA_TUNER_MXL5005S=
!CONFIG_MEDIA_TUNER_MXL5007T=
!CONFIG_MEDIA_TUNER_QM1D1C0042=
!CONFIG_MEDIA_TUNER_QT1010=
!CONFIG_MEDIA_TUNER_R820T=
!CONFIG_MEDIA_TUNER_SI2157=
!CONFIG_MEDIA_TUNER_SIMPLE=
!CONFIG_MEDIA_TUNER_TDA18212=
!CONFIG_MEDIA_TUNER_TDA18218=
!CONFIG_MEDIA_TUNER_TDA18271=
!CONFIG_MEDIA_TUNER_TDA827X=
!CONFIG_MEDIA_TUNER_TDA8290=
!CONFIG_MEDIA_TUNER_TDA9887=
!CONFIG_MEDIA_TUNER_TUA9001=
!CONFIG_MEDIA_TUNER_XC2028=
!CONFIG_MEDIA_TUNER_XC4000=
!CONFIG_MEDIA_TUNER_XC5000=
!CONFIG_PREEMPT_COUNT=
!CONFIG_PREEMPT_RCU=
!CONFIG_SMS_SDIO_DRV=
!CONFIG_SMS_SIANO_MDTV=
!CONFIG_SMS_USB_DRV=
!CONFIG_TABLET_SERIAL_WACOM4=
!CONFIG_TABLET_USB_ACECAD=
!CONFIG_TABLET_USB_AIPTEK=
!CONFIG_TABLET_USB_GTCO=
!CONFIG_TABLET_USB_HANWANG=
!CONFIG_TABLET_USB_KBTAB=
!CONFIG_UNINLINE_SPIN_UNLOCK=
!CONFIG_USB_AIRSPY=
!CONFIG_USB_CONFIGFS_F_UVC=
!CONFIG_USB_GL860=
!CONFIG_USB_GSPCA=
!CONFIG_USB_GSPCA_BENQ=
!CONFIG_USB_GSPCA_CONEX=
!CONFIG_USB_GSPCA_CPIA1=
!CONFIG_USB_GSPCA_DTCS033=
!CONFIG_USB_GSPCA_ETOMS=
!CONFIG_USB_GSPCA_FINEPIX=
!CONFIG_USB_GSPCA_JEILINJ=
!CONFIG_USB_GSPCA_JL2005BCD=
!CONFIG_USB_GSPCA_KINECT=
!CONFIG_USB_GSPCA_KONICA=
!CONFIG_USB_GSPCA_MARS=
!CONFIG_USB_GSPCA_MR97310A=
!CONFIG_USB_GSPCA_NW80X=
!CONFIG_USB_GSPCA_OV519=
!CONFIG_USB_GSPCA_OV534=
!CONFIG_USB_GSPCA_OV534_9=
!CONFIG_USB_GSPCA_PAC207=
!CONFIG_USB_GSPCA_PAC7302=
!CONFIG_USB_GSPCA_PAC7311=
!CONFIG_USB_GSPCA_SE401=
!CONFIG_USB_GSPCA_SN9C2028=
!CONFIG_USB_GSPCA_SN9C20X=
!CONFIG_USB_GSPCA_SONIXB=
!CONFIG_USB_GSPCA_SONIXJ=
!CONFIG_USB_GSPCA_SPCA1528=
!CONFIG_USB_GSPCA_SPCA500=
!CONFIG_USB_GSPCA_SPCA501=
!CONFIG_USB_GSPCA_SPCA505=
!CONFIG_USB_GSPCA_SPCA506=
!CONFIG_USB_GSPCA_SPCA508=
!CONFIG_USB_GSPCA_SPCA561=
!CONFIG_USB_GSPCA_SQ905=
!CONFIG_USB_GSPCA_SQ905C=
!CONFIG_USB_GSPCA_SQ930X=
!CONFIG_USB_GSPCA_STK014=
!CONFIG_USB_GSPCA_STK1135=
!CONFIG_USB_GSPCA_STV0680=
!CONFIG_USB_GSPCA_SUNPLUS=
!CONFIG_USB_GSPCA_T613=
!CONFIG_USB_GSPCA_TOPRO=
!CONFIG_USB_GSPCA_TOUPTEK=
!CONFIG_USB_GSPCA_TV8532=
!CONFIG_USB_GSPCA_VC032X=
!CONFIG_USB_GSPCA_VICAM=
!CONFIG_USB_GSPCA_XIRLINK_CIT=
!CONFIG_USB_GSPCA_ZC3XX=
!CONFIG_USB_HACKRF=
!CONFIG_USB_M5602=
!CONFIG_USB_PWC=
!CONFIG_USB_PWC_DEBUG=
!CONFIG_USB_PWC_INPUT_EVDEV=
!CONFIG_USB_S2255=
!CONFIG_USB_STKWEBCAM=
!CONFIG_USB_STV06XX=
!CONFIG_USB_VIDEO_CLASS=
!CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=
!CONFIG_USB_ZR364XX=
!CONFIG_V4L_MEM2MEM_DRIVERS=
!CONFIG_V4L_PLATFORM_DRIVERS=
!CONFIG_V4L_TEST_DRIVERS=
!CONFIG_VIDEO_ADV7170=
!CONFIG_VIDEO_ADV7175=
!CONFIG_VIDEO_AU0828=
!CONFIG_VIDEO_AU0828_V4L2=
!CONFIG_VIDEO_BT819=
!CONFIG_VIDEO_BT856=
!CONFIG_VIDEO_BT866=
!CONFIG_VIDEOBUF2_CORE=
!CONFIG_VIDEOBUF2_DMA_CONTIG=
!CONFIG_VIDEOBUF2_DMA_SG=
!CONFIG_VIDEOBUF2_DVB=
!CONFIG_VIDEOBUF2_MEMOPS=
!CONFIG_VIDEOBUF2_VMALLOC=
!CONFIG_VIDEOBUF_DMA_SG=
!CONFIG_VIDEOBUF_GEN=
!CONFIG_VIDEOBUF_VMALLOC=
!CONFIG_VIDEO_CPIA2=
!CONFIG_VIDEO_CS53L32A=
!CONFIG_VIDEO_CX2341X=
!CONFIG_VIDEO_CX25821=
!CONFIG_VIDEO_CX25821_ALSA=
!CONFIG_VIDEO_CX25840=
!CONFIG_VIDEO_DEV=
!CONFIG_VIDEO_DT3155=
!CONFIG_VIDEO_EM28XX=
!CONFIG_VIDEO_EM28XX_ALSA=
!CONFIG_VIDEO_EM28XX_DVB=
!CONFIG_VIDEO_EM28XX_V4L2=
!CONFIG_VIDEO_GO7007=
!CONFIG_VIDEO_GO7007_LOADER=
!CONFIG_VIDEO_GO7007_USB=
!CONFIG_VIDEO_GO7007_USB_S2250_BOARD=
!CONFIG_VIDEO_HDPVR=
!CONFIG_VIDEO_HEXIUM_GEMINI=
!CONFIG_VIDEO_HEXIUM_ORION=
!CONFIG_VIDEO_KS0127=
!CONFIG_VIDEO_MEYE=
!CONFIG_VIDEO_MSP3400=
!CONFIG_VIDEO_MT9V011=
!CONFIG_VIDEO_MXB=
!CONFIG_VIDEO_OV7640=
!CONFIG_VIDEO_PVRUSB2=
!CONFIG_VIDEO_PVRUSB2_DEBUGIFC=
!CONFIG_VIDEO_PVRUSB2_DVB=
!CONFIG_VIDEO_PVRUSB2_SYSFS=
!CONFIG_VIDEO_SAA6588=
!CONFIG_VIDEO_SAA6752HS=
!CONFIG_VIDEO_SAA7110=
!CONFIG_VIDEO_SAA711X=
!CONFIG_VIDEO_SAA7134=
!CONFIG_VIDEO_SAA7134_ALSA=
!CONFIG_VIDEO_SAA7134_DVB=
!CONFIG_VIDEO_SAA7134_GO7007=
!CONFIG_VIDEO_SAA7146=
!CONFIG_VIDEO_SAA7146_VV=
!CONFIG_VIDEO_SAA7164=
!CONFIG_VIDEO_SAA7185=
!CONFIG_VIDEO_SOLO6X10=
!CONFIG_VIDEO_SONY_BTF_MPX=
!CONFIG_VIDEO_STK1160=
!CONFIG_VIDEO_STK1160_AC97=
!CONFIG_VIDEO_STK1160_COMMON=
!CONFIG_VIDEO_TDA9840=
!CONFIG_VIDEO_TEA6415C=
!CONFIG_VIDEO_TEA6420=
!CONFIG_VIDEO_TUNER=
!CONFIG_VIDEO_TVEEPROM=
!CONFIG_VIDEO_TVP5150=
!CONFIG_VIDEO_TW2804=
!CONFIG_VIDEO_TW68=
!CONFIG_VIDEO_TW9903=
!CONFIG_VIDEO_TW9906=
!CONFIG_VIDEO_UDA1342=
!CONFIG_VIDEO_USBTV=
!CONFIG_VIDEO_USBVISION=
!CONFIG_VIDEO_V4L2=
!CONFIG_VIDEO_VPX3220=
!CONFIG_VIDEO_WM8775=
!CONFIG_VIDEO_ZORAN=
!CONFIG_VIDEO_ZORAN_AVS6EYES=
!CONFIG_VIDEO_ZORAN_BUZ=
!CONFIG_VIDEO_ZORAN_DC10=
!CONFIG_VIDEO_ZORAN_DC30=
!CONFIG_VIDEO_ZORAN_LML33=
!CONFIG_VIDEO_ZORAN_LML33R10=
!CONFIG_VIDEO_ZORAN_ZR36060=
!CONFIG_DVB_A8293=
!CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=
!CONFIG_DVB_CX22700=
!CONFIG_DVB_DRX39XYJ=
!CONFIG_DVB_DRXD=
!CONFIG_DVB_MB86A20S=
!CONFIG_DVB_S921=
!CONFIG_DVB_TDA10071=
!CONFIG_SMS_SIANO_DEBUGFS=
!CONFIG_USB_G_WEBCAM=

@ -0,0 +1,388 @@
# Calculate format=diff pkg(sys-devel/gcc)>=4.9
WARNING - this version of the patch works with version 4.9+ of gcc and with
kernel version 3.15.x+ and should NOT be applied when compiling on older
versions due to name changes of the flags with the 4.9 release of gcc.
Use the older version of this patch hosted on the same github for older
versions of gcc. For example:
corei7 --> nehalem
corei7-avx --> sandybridge
core-avx-i --> ivybridge
core-avx2 --> haswell
For more, see: https://gcc.gnu.org/gcc-4.9/changes.html
It also changes 'atom' to 'bonnell' in accordance with the gcc v4.9 changes.
Note that upstream is using the deprecated 'match=atom' flags when I believe it
should use the newer 'march=bonnell' flag for atom processors.
I have made that change to this patch set as well. See the following kernel
bug report to see if I'm right: https://bugzilla.kernel.org/show_bug.cgi?id=77461
This patch will expand the number of microarchitectures to include new
processors including: AMD K10-family, AMD Family 10h (Barcelona), AMD Family
14h (Bobcat), AMD Family 15h (Bulldozer), AMD Family 15h (Piledriver), AMD
Family 16h (Jaguar), Intel 1st Gen Core i3/i5/i7 (Nehalem), Intel 1.5 Gen Core
i3/i5/i7 (Westmere), Intel 2nd Gen Core i3/i5/i7 (Sandybridge), Intel 3rd Gen
Core i3/i5/i7 (Ivybridge), Intel 4th Gen Core i3/i5/i7 (Haswell), and Intel 5th
Gen Core i3/i5/i7 (Broadwell). It also offers the compiler the 'native' flag.
Small but real speed increases are measurable using a make endpoint comparing
a generic kernel to one built with one of the respective microarchs.
See the following experimental evidence supporting this statement:
https://github.com/graysky2/kernel_gcc_patch
REQUIREMENTS
linux version >=3.15
gcc version >=4.9
--- a/arch/x86/include/asm/module.h 2014-08-03 18:25:02.000000000 -0400
+++ b/arch/x86/include/asm/module.h 2014-09-13 09:37:16.721385247 -0400
@@ -15,6 +15,20 @@
#define MODULE_PROC_FAMILY "586MMX "
#elif defined CONFIG_MCORE2
#define MODULE_PROC_FAMILY "CORE2 "
+#elif defined CONFIG_MNATIVE
+#define MODULE_PROC_FAMILY "NATIVE "
+#elif defined CONFIG_MNEHALEM
+#define MODULE_PROC_FAMILY "NEHALEM "
+#elif defined CONFIG_MWESTMERE
+#define MODULE_PROC_FAMILY "WESTMERE "
+#elif defined CONFIG_MSANDYBRIDGE
+#define MODULE_PROC_FAMILY "SANDYBRIDGE "
+#elif defined CONFIG_MIVYBRIDGE
+#define MODULE_PROC_FAMILY "IVYBRIDGE "
+#elif defined CONFIG_MHASWELL
+#define MODULE_PROC_FAMILY "HASWELL "
+#elif defined CONFIG_MBROADWELL
+#define MODULE_PROC_FAMILY "BROADWELL "
#elif defined CONFIG_MATOM
#define MODULE_PROC_FAMILY "ATOM "
#elif defined CONFIG_M686
@@ -33,6 +47,20 @@
#define MODULE_PROC_FAMILY "K7 "
#elif defined CONFIG_MK8
#define MODULE_PROC_FAMILY "K8 "
+#elif defined CONFIG_MK8SSE3
+#define MODULE_PROC_FAMILY "K8SSE3 "
+#elif defined CONFIG_MK10
+#define MODULE_PROC_FAMILY "K10 "
+#elif defined CONFIG_MBARCELONA
+#define MODULE_PROC_FAMILY "BARCELONA "
+#elif defined CONFIG_MBOBCAT
+#define MODULE_PROC_FAMILY "BOBCAT "
+#elif defined CONFIG_MBULLDOZER
+#define MODULE_PROC_FAMILY "BULLDOZER "
+#elif defined CONFIG_MPILEDRIVER
+#define MODULE_PROC_FAMILY "PILEDRIVER "
+#elif defined CONFIG_MJAGUAR
+#define MODULE_PROC_FAMILY "JAGUAR "
#elif defined CONFIG_MELAN
#define MODULE_PROC_FAMILY "ELAN "
#elif defined CONFIG_MCRUSOE
--- a/arch/x86/Kconfig.cpu 2014-08-03 18:25:02.000000000 -0400
+++ b/arch/x86/Kconfig.cpu 2014-09-13 09:37:16.721385247 -0400
@@ -137,9 +137,8 @@ config MPENTIUM4
-Paxville
-Dempsey
-
config MK6
- bool "K6/K6-II/K6-III"
+ bool "AMD K6/K6-II/K6-III"
depends on X86_32
---help---
Select this for an AMD K6-family processor. Enables use of
@@ -147,7 +146,7 @@ config MK6
flags to GCC.
config MK7
- bool "Athlon/Duron/K7"
+ bool "AMD Athlon/Duron/K7"
depends on X86_32
---help---
Select this for an AMD Athlon K7-family processor. Enables use of
@@ -155,12 +154,62 @@ config MK7
flags to GCC.
config MK8
- bool "Opteron/Athlon64/Hammer/K8"
+ bool "AMD Opteron/Athlon64/Hammer/K8"
---help---
Select this for an AMD Opteron or Athlon64 Hammer-family processor.
Enables use of some extended instructions, and passes appropriate
optimization flags to GCC.
+config MK8SSE3
+ bool "AMD Opteron/Athlon64/Hammer/K8 with SSE3"
+ ---help---
+ Select this for improved AMD Opteron or Athlon64 Hammer-family processors.
+ Enables use of some extended instructions, and passes appropriate
+ optimization flags to GCC.
+
+config MK10
+ bool "AMD 61xx/7x50/PhenomX3/X4/II/K10"
+ ---help---
+ Select this for an AMD 61xx Eight-Core Magny-Cours, Athlon X2 7x50,
+ Phenom X3/X4/II, Athlon II X2/X3/X4, or Turion II-family processor.
+ Enables use of some extended instructions, and passes appropriate
+ optimization flags to GCC.
+
+config MBARCELONA
+ bool "AMD Barcelona"
+ ---help---
+ Select this for AMD Barcelona and newer processors.
+
+ Enables -march=barcelona
+
+config MBOBCAT
+ bool "AMD Bobcat"
+ ---help---
+ Select this for AMD Bobcat processors.
+
+ Enables -march=btver1
+
+config MBULLDOZER
+ bool "AMD Bulldozer"
+ ---help---
+ Select this for AMD Bulldozer processors.
+
+ Enables -march=bdver1
+
+config MPILEDRIVER
+ bool "AMD Piledriver"
+ ---help---
+ Select this for AMD Piledriver processors.
+
+ Enables -march=bdver2
+
+config MJAGUAR
+ bool "AMD Jaguar"
+ ---help---
+ Select this for AMD Jaguar processors.
+
+ Enables -march=btver2
+
config MCRUSOE
bool "Crusoe"
depends on X86_32
@@ -251,8 +300,17 @@ config MPSC
using the cpu family field
in /proc/cpuinfo. Family 15 is an older Xeon, Family 6 a newer one.
+config MATOM
+ bool "Intel Atom"
+ ---help---
+
+ Select this for the Intel Atom platform. Intel Atom CPUs have an
+ in-order pipelining architecture and thus can benefit from
+ accordingly optimized code. Use a recent GCC with specific Atom
+ support in order to fully benefit from selecting this option.
+
config MCORE2
- bool "Core 2/newer Xeon"
+ bool "Intel Core 2"
---help---
Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and
@@ -260,14 +318,55 @@ config MCORE2
family in /proc/cpuinfo. Newer ones have 6 and older ones 15
(not a typo)
-config MATOM
- bool "Intel Atom"
+ Enables -march=core2
+
+config MNEHALEM
+ bool "Intel Nehalem"
---help---
- Select this for the Intel Atom platform. Intel Atom CPUs have an
- in-order pipelining architecture and thus can benefit from
- accordingly optimized code. Use a recent GCC with specific Atom
- support in order to fully benefit from selecting this option.
+ Select this for 1st Gen Core processors in the Nehalem family.
+
+ Enables -march=nehalem
+
+config MWESTMERE
+ bool "Intel Westmere"
+ ---help---
+
+ Select this for the Intel Westmere formerly Nehalem-C family.
+
+ Enables -march=westmere
+
+config MSANDYBRIDGE
+ bool "Intel Sandy Bridge"
+ ---help---
+
+ Select this for 2nd Gen Core processors in the Sandy Bridge family.
+
+ Enables -march=sandybridge
+
+config MIVYBRIDGE
+ bool "Intel Ivy Bridge"
+ ---help---
+
+ Select this for 3rd Gen Core processors in the Ivy Bridge family.
+
+ Enables -march=ivybridge
+
+config MHASWELL
+ bool "Intel Haswell"
+ ---help---
+
+ Select this for 4th Gen Core processors in the Haswell family.
+
+ Enables -march=haswell
+
+config MBROADWELL
+ bool "Intel Broadwell"
+ ---help---
+
+ Select this for 5th Gen Core processors in the Broadwell family.
+
+ Enables -march=broadwell
config GENERIC_CPU
bool "Generic-x86-64"
@@ -276,6 +375,19 @@ config GENERIC_CPU
Generic x86-64 CPU.
Run equally well on all x86-64 CPUs.
+config MNATIVE
+ bool "Native optimizations autodetected by GCC"
+ ---help---
+
+ GCC 4.2 and above support -march=native, which automatically detects
+ the optimum settings to use based on your processor. -march=native
+ also detects and applies additional settings beyond -march specific
+ to your CPU, (eg. -msse4). Unless you have a specific reason not to
+ (e.g. distcc cross-compiling), you should probably be using
+ -march=native rather than anything listed below.
+
+ Enables -march=native
+
endchoice
config X86_GENERIC
@@ -300,7 +412,7 @@ config X86_INTERNODE_CACHE_SHIFT
config X86_L1_CACHE_SHIFT
int
default "7" if MPENTIUM4 || MPSC
- default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU
+ default "6" if MK7 || MK8 || MK8SSE3 || MK10 || MBARCELONA || MBOBCAT || MBULLDOZER || MPILEDRIVER || MJAGUAR || MPENTIUMM || MCORE2 || MNEHALEM || MWESTMERE || MSANDYBRIDGE || MIVYBRIDGE || MHASWELL || BROADWELL || MNATIVE || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU
default "4" if MELAN || M486 || MGEODEGX1
default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX
@@ -331,11 +443,11 @@ config X86_ALIGNMENT_16
config X86_INTEL_USERCOPY
def_bool y
- depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7 || MEFFICEON || MCORE2
+ depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK8SSE3 || MK7 || MEFFICEON || MCORE2 || MK10 || MBARCELONA || MNEHALEM || MWESTMERE || MSANDYBRIDGE || MIVYBRIDGE || MHASWELL || MBROADWELL || MNATIVE
config X86_USE_PPRO_CHECKSUM
def_bool y
- depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MVIAC7 || MEFFICEON || MGEODE_LX || MCORE2 || MATOM
+ depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MK10 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MK8SSE3 || MVIAC3_2 || MVIAC7 || MEFFICEON || MGEODE_LX || MCORE2 || MNEHALEM || MWESTMERE || MSANDYBRIDGE || MIVYBRIDGE || MHASWELL || MBROADWELL || MATOM || MNATIVE
config X86_USE_3DNOW
def_bool y
@@ -359,17 +471,17 @@ config X86_P6_NOP
config X86_TSC
def_bool y
- depends on (MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MATOM) || X86_64
+ depends on (MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MK8SSE3 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MNEHALEM || MWESTMERE || MSANDYBRIDGE || MIVYBRIDGE || MHASWELL || MBROADWELL || MNATIVE || MATOM) || X86_64
config X86_CMPXCHG64
def_bool y
- depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM
+ depends on X86_PAE || X86_64 || MCORE2 || MNEHALEM || MWESTMERE || MSANDYBRIDGE || MIVYBRIDGE || MHASWELL || MBROADWELL || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM || MNATIVE
# this should be set for all -march=.. options where the compiler
# generates cmov.
config X86_CMOV
def_bool y
- depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MATOM || MGEODE_LX)
+ depends on (MK8 || MK8SSE3 || MK10 || MBARCELONA || MBOBCAT || MBULLDOZER || MPILEDRIVER || MJAGUAR || MK7 || MCORE2 || MNEHALEM || MWESTMERE || MSANDYBRIDGE || MIVYBRIDGE || MHASWELL || MBROADWELL || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MNATIVE || MATOM || MGEODE_LX)
config X86_MINIMUM_CPU_FAMILY
int
--- a/arch/x86/Makefile 2014-08-03 18:25:02.000000000 -0400
+++ b/arch/x86/Makefile 2014-09-13 09:37:16.721385247 -0400
@@ -92,13 +92,33 @@ else
KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)
# FIXME - should be integrated in Makefile.cpu (Makefile_32.cpu)
+ cflags-$(CONFIG_MNATIVE) += $(call cc-option,-march=native)
cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8)
+ cflags-$(CONFIG_MK8SSE3) += $(call cc-option,-march=k8-sse3,-mtune=k8)
+ cflags-$(CONFIG_MK10) += $(call cc-option,-march=amdfam10)
+ cflags-$(CONFIG_MBARCELONA) += $(call cc-option,-march=barcelona)
+ cflags-$(CONFIG_MBOBCAT) += $(call cc-option,-march=btver1)
+ cflags-$(CONFIG_MBULLDOZER) += $(call cc-option,-march=bdver1)
+ cflags-$(CONFIG_MPILEDRIVER) += $(call cc-option,-march=bdver2)
+ cflags-$(CONFIG_MJAGUAR) += $(call cc-option,-march=btver2)
cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
cflags-$(CONFIG_MCORE2) += \
- $(call cc-option,-march=core2,$(call cc-option,-mtune=generic))
- cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom) \
- $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
+ $(call cc-option,-march=core2,$(call cc-option,-mtune=core2))
+ cflags-$(CONFIG_MNEHALEM) += \
+ $(call cc-option,-march=nehalem,$(call cc-option,-mtune=nehalem))
+ cflags-$(CONFIG_MWESTMERE) += \
+ $(call cc-option,-march=westmere,$(call cc-option,-mtune=westmere))
+ cflags-$(CONFIG_MSANDYBRIDGE) += \
+ $(call cc-option,-march=sandybridge,$(call cc-option,-mtune=sandybridge))
+ cflags-$(CONFIG_MIVYBRIDGE) += \
+ $(call cc-option,-march=ivybridge,$(call cc-option,-mtune=ivybridge))
+ cflags-$(CONFIG_MHASWELL) += \
+ $(call cc-option,-march=haswell,$(call cc-option,-mtune=haswell))
+ cflags-$(CONFIG_MBROADWELL) += \
+ $(call cc-option,-march=broadwell,$(call cc-option,-mtune=broadwell))
+ cflags-$(CONFIG_MATOM) += $(call cc-option,-march=bonnell) \
+ $(call cc-option,-mtune=bonnell,$(call cc-option,-mtune=generic))
cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=generic)
KBUILD_CFLAGS += $(cflags-y)
--- a/arch/x86/Makefile_32.cpu 2014-08-03 18:25:02.000000000 -0400
+++ b/arch/x86/Makefile_32.cpu 2014-09-13 09:37:16.721385247 -0400
@@ -23,7 +23,15 @@ cflags-$(CONFIG_MK6) += -march=k6
# Please note, that patches that add -march=athlon-xp and friends are pointless.
# They make zero difference whatsosever to performance at this time.
cflags-$(CONFIG_MK7) += -march=athlon
+cflags-$(CONFIG_MNATIVE) += $(call cc-option,-march=native)
cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8,-march=athlon)
+cflags-$(CONFIG_MK8SSE3) += $(call cc-option,-march=k8-sse3,-march=athlon)
+cflags-$(CONFIG_MK10) += $(call cc-option,-march=amdfam10,-march=athlon)
+cflags-$(CONFIG_MBARCELONA) += $(call cc-option,-march=barcelona,-march=athlon)
+cflags-$(CONFIG_MBOBCAT) += $(call cc-option,-march=btver1,-march=athlon)
+cflags-$(CONFIG_MBULLDOZER) += $(call cc-option,-march=bdver1,-march=athlon)
+cflags-$(CONFIG_MPILEDRIVER) += $(call cc-option,-march=bdver2,-march=athlon)
+cflags-$(CONFIG_MJAGUAR) += $(call cc-option,-march=btver2,-march=athlon)
cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MEFFICEON) += -march=i686 $(call tune,pentium3) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586)
@@ -32,8 +40,14 @@ cflags-$(CONFIG_MCYRIXIII) += $(call cc-
cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
cflags-$(CONFIG_MVIAC7) += -march=i686
cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
-cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call cc-option,-march=core2,-march=i686)) \
- $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
+cflags-$(CONFIG_MNEHALEM) += -march=i686 $(call tune,nehalem)
+cflags-$(CONFIG_MWESTMERE) += -march=i686 $(call tune,westmere)
+cflags-$(CONFIG_MSANDYBRIDGE) += -march=i686 $(call tune,sandybridge)
+cflags-$(CONFIG_MIVYBRIDGE) += -march=i686 $(call tune,ivybridge)
+cflags-$(CONFIG_MHASWELL) += -march=i686 $(call tune,haswell)
+cflags-$(CONFIG_MBROADWELL) += -march=i686 $(call tune,broadwell)
+cflags-$(CONFIG_MATOM) += $(call cc-option,-march=bonnell,$(call cc-option,-march=core2,-march=i686)) \
+ $(call cc-option,-mtune=bonnell,$(call cc-option,-mtune=generic))
# AMD Elan support
cflags-$(CONFIG_MELAN) += -march=i486

@ -1,7 +1,9 @@
DIST linux-4.1.tar.xz 83017828 SHA256 caf51f085aac1e1cea4d00dbbf3093ead07b551fc07b31b2a989c05f8ea72d9f SHA512 168ef84a4e67619f9f53f3574e438542a5747f9b43443363cb83597fcdac9f40d201625c66e375a23226745eaada9176eb006ca023613cec089349e91751f3c0 WHIRLPOOL 85fcfdb67ea7f865272a85d3b4c3ec1f5a1267f4664bf073c562bb3875e9d96ad68486259d8866a9aced98c95de16840ec531d89745aec75b7315a64ebe650b8
DIST linux-4.10.tar.xz 94231404 SHA256 3c95d9f049bd085e5c346d2c77f063b8425f191460fcd3ae9fe7e94e0477dc4b SHA512 c3690125a8402df638095bd98a613fcf1a257b81de7611c84711d315cd11e2634ab4636302b3742aedf1e3ba9ce0fea53fe8c7d48e37865d8ee5db3565220d90 WHIRLPOOL 86d021bae2dbfc4ef80c22d9e886bed4fbd9476473a2851d7beaf8ed0c7f7fbc1fa0da230eb9e763eb231b7c164c17b2a73fd336ab233543f57be280d6173738
DIST linux-4.4.tar.xz 87295988 SHA256 401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2 SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e WHIRLPOOL 02abc203d867404b9934aaa4c1e5b5dcbb0b0021e91a03f3a7e7fd224eed106821d8b4949f32a590536db150e5a88c16fcde88538777a26d0c17900f0257b1bc
DIST linux-4.9.tar.xz 93192404 SHA256 029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a WHIRLPOOL 072505b29972ad120eb25a074217847c9c2813416c4903e605a0433574f5f87616dbea0b1454e4b19acc48107f11274b682958b1d773373156e99f8163e6606a
DIST patch-4.1.38.xz 945376 SHA256 97eaedf1a4f5b931271035f640690757c0a3239d89f69c6dd7774d3371b589b6 SHA512 2d271e94fecc1a97c990de0e042cd20d5acdf6adfa71e71e162cf4886218b9481284aba4dd0201f777b146e309bfdf9d95062cfc878c08f613d8b50222010d2c WHIRLPOOL c947507c4e325bbdcdf2a49a2c58963bdf9b5876ebbfb8cce0a4b7c97fbb4fdefe904c52f59735efad24cd22becdf278e8d3bf898b2faa048618711161cd6f7b
DIST patch-4.10.1.xz 7408 SHA256 da560125aa350f76f0e4a5b9373a0d0a1c27ccefe3b7bd9231724f3a3c4ebb9e SHA512 7d36d210eade03df91dd3bbaa9cb9bdad0a2c60e21a7b6c1be36f7610d4329b6b517517ba8d971458a2e1bc219e639dacccc8ffe6b12b8954c3ba19bf527f239 WHIRLPOOL 5cb630fd5200810a17def47983e237ce819fa2e456949a8812d859a6d7918a89cb5411c567a956d48f887da86587bcc96589a248fc3c2dda426ba46e79ff9a92
DIST patch-4.4.52.xz 958972 SHA256 96dfdcb3144509275bba3b3f8ad925b18f31a22dcab5abfd5a4b816977a4e8c3 SHA512 c56f6ceabbda28e6c48a334179f72d30fbafcce105efd927d117ffd7f4a537dae750226ac803cf4a05194833b8a6af829d7a3783cf2e92dc6ef0c7d2f4645bc1 WHIRLPOOL 39fbfbe03558ca3e4fa4dc2bffa6a8affc748a431f42fcde264cbe2602b32c825a8ce32f7293dea47aec46650b2f93866f0a300e61828ecb672a2ba4d925787c
DIST patch-4.9.13.xz 295932 SHA256 87a0f07dd393e2d08850f0536417d091684535ff0c8ab8f8d9aeab1db38589bf SHA512 d7956cc8a4ab11514789af4f1f7023268e4b003216766c153f0f09aac659aabda5de634b363d53f8daeddfcf5820619c5bca31ff5f9aeb187c1df016c05f68d5 WHIRLPOOL 154747030245f5c1e9f6d9717c32584e3901372fdfe7945497b294c7454f2da4ae4959cf9f1bdd091dca70d346125023a0b5d0c75cc3745342eb8bb56c68e023
DIST patch-4.9.8.xz 240648 SHA256 d53bb9fb309193cbbf88faa28f4cecfc312dbddaa4c2cbf089f2a7ecd56889c0 SHA512 98400f66cdb4536dfefc8e88a60d9c84dd60e999e1f8547dd25c1e1476099fa76c4f6a0b6b45f91ddc6003ec6233a3e1b6e44b8172c8e89b3e9aca7ffde7b15e WHIRLPOOL b527347ecc1970996d8adf588e1eacbc57a21bbd0c89d5bb66c73ad4e6f2c380fea41f4ba9b07bd986cea86fe0051c0d8333023f8a1399593b9d76090d10dff3

@ -0,0 +1,22 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
ETYPE="sources"
inherit calculate-kernel-7 eutils
DESCRIPTION="Calculate Linux kernel image"
KEYWORDS="~amd64 ~x86"
HOMEPAGE="http://www.calculate-linux.org"
SRC_URI="${KERNEL_URI} ${ARCH_URI}"
src_unpack() {
calculate-kernel-7_src_unpack
}
pkg_postinst() {
calculate-kernel-7_pkg_postinst
}
Loading…
Cancel
Save