เราจะได้รับแพตช์ 200 สายที่เพิ่มประสิทธิภาพได้อย่างไร?


66

ฉันอ่าน Phoronix วันนี้ว่ามี200 patch patchไปยัง Linux Kernel ซึ่งช่วยปรับปรุงการตอบสนองของเดสก์ท็อปได้อย่างมาก

ผู้ใช้ Ubuntu จะได้รับสิ่งนี้ในวิธีที่ได้รับการสนับสนุนได้อย่างไร

คำตอบ:


59

การสนทนาเกี่ยวกับโปรแกรมแก้ไขเฉพาะนี้เกิดขึ้นในรายชื่อผู้รับจดหมายข่าวเคอร์เนลของ Ubuntu:

https://lists.ubuntu.com/archives/kernel-team/2010-November/013498.html

แต่ให้ฉันพยายามอธิบายเพิ่มเติมอย่างละเอียดเกี่ยวกับวิธีที่ดีที่สุดสำหรับแพทช์ใด ๆ ที่จะเข้าสู่เคอร์เนล Ubuntu ...

ก่อนอื่นมันเป็นนโยบายที่ต้องการของทีมเคอร์เนล Ubuntu ที่จะส่งแพตช์และยอมรับอัปสตรีมก่อนที่จะถูกดึงเข้าไปในเคอร์เนล Ubuntu มันเป็นภาระการบำรุงรักษาอย่างมากในทีมงานเคอร์เนลของ Ubuntu ที่จะต้องจัดการกับการแก้ไขทรี นอกจากนี้หากแพตช์จะได้รับประโยชน์ทั้งชุมชนเคอร์เนลมันควรไปทางต้นน้ำก่อน

เมื่อแพตช์ได้รับการยอมรับในขั้นต้นแล้วในที่สุดมันก็จะเข้าสู่เคอร์เนล Ubuntu โดยอัตโนมัติ นอกจากนี้ยังสามารถทำคำขอเชอร์รี่เลือกหรือดึงได้หากต้องการดูที่KernelPatchesสำหรับข้อมูลเพิ่มเติม

ถ้าแพตช์ต้องถูกใช้เป็น SRU (การอัพเดตรีลีสที่เสถียร ) กับรีลีส Ubuntu ก่อนหน้านี้จะเป็นการดีที่สุดที่จะได้รับแพตช์ที่ยอมรับในทรีอัพสตรีมที่เสถียร 2.6.xy ในฐานะที่เป็นส่วนหนึ่งของกระบวนการ SRU ของเคอร์เนลปกติเราจะทำการรีบูตเคอร์เนลที่มีความเสถียรล่าสุด ดังนั้นในที่สุดเราก็จะได้รับแพตช์อัตโนมัติอีกครั้ง


4
แพตช์นี้มีแนวโน้มที่จะอยู่ในเคอร์เนล v2.6.38 ซึ่งหมายความว่ามันน่าจะอยู่ใน Natty release เราจะรู้ได้ดีขึ้นเมื่อแพทช์ปรากฏในต้นไม้ของไลนัส
แอนดี้

1
@Andy: อัพเดท - ข่าวดี: Ubuntu 11.04 Natty Narwhal เปิดตัวเมื่อวานมี 2.6.38 ซึ่งมีแพทช์
Piskvor

น่าเสียดายที่ลิงก์ "รายชื่อผู้รับจดหมายของทีมเคอร์เนล Ubuntu" ดูเหมือนว่าจะตายหรือไม่ถูกต้อง
Greenonline

20

ฉันเพิ่งอ่านเธรด lkml และหวังว่าฉันจะสามารถให้ข้อมูลบางอย่างได้แม้ว่าจะไม่ได้รับการแก้ไขใน Ubuntu โพสต์ในรายการ Ubuntu ที่เชื่อมโยงกล่าวว่าอาจเป็นไปได้ใน 2.6.38

โปรแกรมปะแก้จะจัดกลุ่มกระบวนการตาม TTY โดยอัตโนมัติ มีการถกเถียง / โต้แย้งมากมายใน lkml ที่บอกว่านี่หมายความว่ามันไม่เกี่ยวข้องกับการใช้งานเดสก์ท็อปทั่วไป - ซึ่งมันไม่ได้สร้างความแตกต่างให้กับแอปพลิเคชันแบบโต้ตอบ กรณีทดสอบมาจาก "เริ่มงาน CPU อย่างเข้มข้นจากเทอร์มินัลจากนั้นดูการตอบสนองของงานอื่น" ดังนั้นการรวบรวมเคอร์เนลและพยายามดูวิดีโอตัวอย่างเช่น

ไม่ได้บอกว่ามันไม่ดี แต่หัวข้อ "การตอบสนองเดสก์ท็อปทั่วไปที่ปรับปรุงโดยลำดับความสำคัญ" อาจทำให้เข้าใจผิดหากคุณไม่เคยใช้งาน CPU มาก ๆ ที่เชื่อมต่อกับ TTY แม้ว่าฉันจะผิดแน่นอน!

มีวิธีการบางอย่างในการบรรลุผลลัพธ์ที่คล้ายกันมากโดยการเพิ่มสคริปต์ bash ของคุณและอนุญาตให้ผู้ใช้ทุกคนสร้างกลุ่ม cg สิ่งนี้จะใช้งานได้ถ้าเมล็ดอูบุนตูปัจจุบันเปิดใช้งาน cgroups โพสต์ที่เกี่ยวข้องคือ:

เห็นได้ชัดว่านี่ไม่ใช่การตอบคำถาม แต่สามารถใช้เพื่อตรวจสอบว่าแพทช์นั้นมีมนต์ขลังอย่างที่หวังไว้หรือไม่


4
ฉันคิดว่าผู้คนจำนวนมากต้องตระหนักถึงสิ่งนี้
Roddie

12

ผู้ใช้ Ubuntu จะได้รับสิ่งนี้ในวิธีที่ได้รับการสนับสนุนได้อย่างไร

เน้นการขุด วิธีเดียวที่คุณจะได้รับในวิธีที่ได้รับการสนับสนุนคือการรอให้ Ubuntu ดึงมันเข้าไปในเคอร์เนล Ubuntu เนื่องจากนี่เป็นเพียงการทำให้เป็นรายการส่งเมลเคอร์เนลจึงมีความสดใหม่จนถึงจุดที่การทดสอบทั้งหมดค่อนข้างพอสมควรและฉันคิดว่าจะต้องใช้เวลาสักครู่ก่อนที่จะพร้อมสำหรับการปรับใช้จำนวนมาก

อยู่ที่ไหนสักแห่งระหว่างรุ่นถัดไปและเป็นเวลานานจะเดาได้รับการศึกษาของฉัน


แต่ถ้าคุณเป็นเด็กตัวใหญ่ (หรือเด็กผู้หญิง) และคุณสามารถรับมือกับเคอร์เนลที่เสียหายถ้าสิ่งต่าง ๆ ผิดปกติ (เช่นคุณรู้วิธีใช้ด้วง) คุณสามารถแก้ไขและรวบรวมเคอร์เนลของคุณเองได้

  1. ดาวน์โหลดแพทช์ มีหลายรุ่น แต่รุ่นที่ดีที่สุดของตัวเองถูกโพสต์ด้านล่างโดยผู้ใช้รายอื่น: http://pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2

  2. ดาวน์โหลดเคอร์เนลซอร์สสำหรับเวอร์ชันที่คุณต้องการแก้ไข ในกรณีนี้ 2.6.36 คุณสามารถรับวานิลลา (ซึ่งเป็นต้นฉบับไม่มีการแก้ไขโดยทีมเคอร์เนลของ Ubuntu) เคอร์เนลที่มาจากkernel.orgและแยกมันออกมา

  3. บันทึกแพตช์ที่ใดที่หนึ่งและใช้มันโดยcdไอเอ็นจีเข้าไปในเคอร์เนลแหล่ง dir และทำงาน: patch -p1 < /path/to/patch(คุณต้องการpatchแพคเกจสำหรับสิ่งนี้ ... ซึ่งฉันคิดว่ามาเป็นส่วนหนึ่งของbuild-essentialถ้ามันไม่ได้ติดตั้งโดยค่าเริ่มต้น)

  4. และจากนั้นดำเนินการต่อกับส่วนที่เหลือของกระบวนการสร้าง "แบบเก่า" ...ฉันจะไม่สนใจวิธีการใหม่กว่าเพราะพวกเขามุ่งเป้าไปที่แหล่งเคอร์เนล Ubuntu / Debian ที่ถูกลงโทษ ... บวกกับวิธีเก่าที่ดูเหมือนง่ายขึ้น ( ถึงฉัน).

การสร้างเมล็ดไม่ใช่เรื่องยาก แต่คุณสามารถทำให้ยุ่งเหยิงได้ถ้าคุณหลงทางไกลจากเส้นทางที่ยอมรับ และคุณจะไม่ได้รับการสนับสนุนอย่างเป็นทางการหากมีสิ่งผิดปกติเกิดขึ้น


อีกวิธีหนึ่งคือมีเมล็ดเกิดขึ้นพร้อมกับแพทช์ในตัว (หรืออย่างน้อยก็ในแผนผังต้นกำเนิดกำลังรอรุ่นถัดไป)

  • ฉันเชื่อว่าZen Kernelมีแพทช์นี้ในต้นไม้ของพวกเขา แต่ฉันไม่แน่ใจว่ามันอยู่ในงานสร้างหรือยัง
  • Liquorix Kernelได้นี้อบในขณะนี้มากเกินไป

หมายเหตุ: ทั้งเมล็ดเหล่านี้ (และอาจอื่น ๆ ด้วย) เบี่ยงเบนไปจากวิธีการทำเมล็ดของ Ubuntu ค่อนข้าง คุณอาจพบว่า (เหมือนที่ฉันทำเมื่อฉันย้ายไปยังแอลซีดี) ที่การปรับความถี่ซีพียูหยุดทำงานหรือหยุดทำงานชั่วคราว โดยปกติจะมีการแก้ไขและวิธีแก้ไขปัญหา แต่โอกาสที่คุณจะไม่ได้รับการสนับสนุนจาก AskUbuntu หรือส่วนที่เหลือของ Ubuntu อย่างเป็นทางการเนื่องจากเราไม่สามารถตรวจสอบเคอร์เนลทุกตัวได้


บางคนต้องมีโปรแกรมแก้ไขนี้แล้วในสาขา git สาธารณะ ข่าวใหญ่เกินไปที่จะไม่ แต่ google-fu ของฉันล้มเหลวฉัน
Karl Bielefeldt

@Karl zen kernel มีไว้ในต้นไม้คอมไพล์
Oli

Liquorix ใช้สิ่งนี้ท่ามกลางโหลดแพตช์อื่นทั้งหมด ตอนนี้ฉันกำลังวิ่งอยู่และมันก็ค่อนข้างดี ปัญหาสำคัญอย่างหนึ่งสำหรับฉัน (และอาจเป็นผู้ใช้รายอื่นส่วนใหญ่) คือ CPU_FREQ ดูเหมือนจะล้มลงเล็กน้อย มันติดอยู่บนประสิทธิภาพ
Oli

5

คุณสามารถใช้ "แฮ็ค" แบบง่ายที่โพสต์โดยผู้พัฒนา RedHat ในรายชื่อผู้รับจดหมายซึ่งไม่จำเป็นต้องทำการปะเคอร์เนลเพื่อให้ได้สิ่งเดียวกัน อ่านเกี่ยวกับที่นี่: ทางเลือกในการ "200 บรรทัดเคอร์เนลแพทช์ที่มหัศจรรย์" ซึ่งคุณสามารถใช้งานได้ทันที


โปรดระบุรายละเอียดจากลิงก์ราวกับว่ามันใช้งานไม่ได้คำตอบของคุณจะไม่ช่วยผู้ใช้
ζ--

1

ตั้งแต่ 2011-01-18, Linux 2.6.38-rc1 ได้รวมโปรแกรมแก้ไขดังกล่าว
ดูที่เกี่ยวข้องกับข่าว Phoronixและไลนัสโพสต์

ตั้งแต่ 2011-01-29, Natty Narwhal สร้างเรือทุกวันด้วย Linux 2.6.38

ดังนั้นในปัจจุบันจึงมีวิธีแก้ไขอยู่สองวิธี:

  • รับล่าสุด Ubuntu 11.04 ภาพ
  • หรือรอรุ่นล่าสุดอย่างเป็นทางการของ Ubuntu 11.04 ในเดือนเมษายน 2011

0

ฉันเพิ่งเลือกการสนทนานี้ตอนนี้และมันน่าสนใจมาก ฉันได้เขียนโพสต์บล็อกเล็ก ๆเกี่ยวกับวิธีการเปิดใช้งาน cgroup patch บน Ubuntu 10.10

ฉันยังไม่ได้ทดสอบว่ามันใช้งานได้จริงหรือไม่ดังนั้นข้อเสนอแนะจะดีมาก!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.