이 마술 같은 성능 향상 200 라인 패치를 어떻게 얻습니까?


답변:


59

이 특정 패치에 관한 토론은 Ubuntu 커널 팀 메일 링리스트에서 이루어졌습니다 :

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

그러나 모든 패치가 우분투 커널로 들어가는 가장 좋은 방법에 대해 좀 더 포괄적으로 설명하려고합니다 ...

우선, 우분투 커널 팀이 선호하는 정책으로 패치를 우분투 커널로 가져 오기 전에 업스트림에 제출하고 수락하는 것이 좋습니다. Ubuntu 커널 팀은 트리 패치를 유지 관리해야하는 유지 관리 부담이 큽니다. 또한 패치가 전체 커널 커뮤니티에 도움이된다면 먼저 업스트림에 올라 가야합니다.

패치가 업스트림에 승인되면 결국 우분투 커널로 자동 전환됩니다. 원하는 경우 체리 픽 또는 풀 요청을 할 수도 있습니다 . 자세한 내용은 KernelPatches 페이지 를 참조하십시오.

패치를 이전 Ubuntu 릴리스에 SRU ( 안정된 릴리스 업데이트 )로 적용해야하는 경우 해당 업스트림 안정 2.6.xy 트리에 패치를 적용하는 것이 가장 좋습니다. 일반적인 커널 SRU 프로세스의 일환으로 최신 업스트림 안정적인 커널에 지속적으로 리베이스합니다. 따라서 우리는 다시 패치를 자동으로 얻습니다.


4
이 패치는 v2.6.38 커널에있을 가능성이 있으므로 Natty 릴리스에있을 가능성이 높습니다. 패치가 Linus의 트리에 나타나면 더 잘 알 것입니다.
Andy

1
@Andy : 업데이트-좋은 소식 : 어제 릴리스 된 Ubuntu 11.04 Natty Narwhal에는 패치가 포함 된 2.6.38이 포함되어 있습니다.
Piskvor

불행히도, "우분투 커널 팀 메일 링리스트" 링크 가 죽었거나 올바르지 않은 것 같습니다.
Greenonline

20

방금 lkml 스레드를 읽었으며 우분투에 패치를 가져 오는 것은 아니지만 몇 가지 정보를 제공 할 수 있기를 바랍니다. 연결된 우분투 목록의 게시물에 따르면 어쩌면 2.6.38에있을 것입니다.

패치는 TTY를 기반으로 프로세스를 자동으로 그룹화합니다. lkml에는 일반적인 데스크톱 사용과 관련이 없으며 대화 형 응용 프로그램과 아무런 차이가 없음을 의미하는 많은 토론 / 주장이 있습니다. 테스트 사례는 모두 "터미널에서 CPU를 많이 사용하는 작업을 시작한 다음 다른 작업의 응답 성을 확인"에 기반합니다. 예를 들어 커널을 컴파일하고 비디오를 보려고합니다.

그것은 좋지 않다는 것은 아니지만, TTY에 연결된 CPU 집약적 작업을 실행하지 않으면 일반적인 "데스크톱 응답 성이 몇 배나 향상되었습니다"유형 헤드 라인이 잘못 될 수 있습니다. 물론 나는 틀릴 수있다!

bash 스크립트에 추가하고 모든 사용자가 cgroup을 만들 수 있도록하여 비슷한 결과를 얻는 방법에 대한 언급이있었습니다. 현재 우분투 커널에서 cgroup을 활성화 한 경우에만 작동합니다. 관련 게시물은 다음과 같습니다

분명히 이것은 질문에 대한 답이 아니지만 패치가 원하는대로 마법의 여부를 결정하는 데 사용될 수 있습니다.


4
더 많은 사람들이 이것을 깨달아야한다고 생각합니다.
Roddie

12

우분투 사용자는 어떻게 지원되는 방식으로 이것을 얻을 수 있습니까?

강조합니다. 지원되는 방식으로 얻을 수있는 유일한 방법은 Ubuntu가 Ubuntu 커널로 끌어 오기를 기다리는 것입니다. 이것이 실제로 커널 메일 링리스트에 올라가는 것이므로 모든 테스트가 상당히 일화되는 시점에 새로워졌고 대량 배포 준비가되기까지 어느 정도 시간이 걸릴 것으로 생각합니다.

다음 릴리스와 오랜 시간 사이의 어딘가 내 교육받지 못한 추측이 될 것입니다.


그러나 당신이 큰 소년 (또는 소녀)이고 일이 잘못되면 깨진 커널에 대처할 수 있다면 (즉, grub을 사용하는 방법을 알고 있음), 자신의 커널을 패치하고 컴파일 할 수 있습니다.

  1. 패치를 다운로드하십시오. 다른 버전이 있지만 그 자체로 최고가 다른 사용자에 의해 아래에 게시되었습니다. http://pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2

  2. 패치 대상 버전의 커널 소스를 다운로드하십시오. 이 경우 2.6.36. kernel.org 에서 바닐라 (우분투 커널 팀이 수정하지 않은) 커널 소스를 가져 와서 추출 할 수 있습니다.

  3. 패치를 어딘가에 저장하고 cd커널 소스 디렉토리에 들어가서 다음을 실행하여 적용하십시오 : patch -p1 < /path/to/patch(이 patch패키지 가 필요합니다 ... build-essential기본적으로 설치되지 않은 경우의 일부로 생각됩니다 )

  4. 그런 다음 나머지 "구식"빌드 프로세스를 계속 하십시오. 새로운 방법이 Ubuntu / Debian 인증 커널 소스를 목표로하기 때문에 새로운 방법을 사용하지 않을 것입니다. 나에게).

커널을 빌드하는 것은 어렵지 않지만 허용되는 경로에서 너무 멀리 벗어나면 엉망이 될 수 있습니다. 일이 잘못되면 공식적인 지원을받지 못할 것입니다.


또는 패치가 내장 된 (또는 최소한 소스 트리에서 다음 릴리스를 기다리는) 점점 더 많은 커널이 존재합니다.

  • Zen Kernel 은이 패치가 트리에 있다고 생각 하지만 아직 빌드가 확실하지 않습니다.
  • Liquorix 커널 이 지금도에서 구워있다.

참고 :이 두 커널 (그리고 아마도 다른 커널도)은 커널을 수행하는 우분투 방식에서 벗어납니다. Liquorix로 옮길 때와 같이 CPU 주파수 스케일링이 작동을 멈추거나 일시 중단이 발생하는 것을 알 수 있습니다. 일반적으로 수정 및 해결 방법이 있지만 AskUbuntu 또는 나머지 Ubuntu 커뮤니티에서 지원하지 않을 가능성이 있습니다. 모든 커널을 확인할 수는 없습니다.


누군가 어딘가에이 패치가 이미 공개 git 브랜치에 적용되어 있어야합니다. 너무 큰 소식은 아니지만 내 Google Fu가 실패합니다.
Karl Bielefeldt

@ 칼 젠 커널은 자식 트리에 있습니다.
Oli

liquorix는 이것을 다른 패치의 전체 부하에 적용했습니다. 나는 지금 실행 중이며 꽤 좋습니다. 나 (그리고 아마도 대부분의 다른 사용자들)에게 중요한 한 가지 문제는 CPU_FREQ가 약간 문제가있는 것 같습니다. 성능에 붙어 있습니다.
Oli


1

2011 년 1 월 18 일 현재 Linux 2.6.38-rc1에는 해당 패치가 포함되어 있습니다.
관련 Phoronix 뉴스Linus 게시물을 참조하십시오 .

2011 년 1 월 29 일부터 Natty Narwhal의 일일 빌드는 Linux 2.6.38과 함께 제공됩니다.

따라서 현재 두 가지 솔루션이 있습니다.


0

방금이 토론을 집어 들었고 매우 흥미로 웠습니다. 우분투 10.10에서 cgroup 패치를 활성화하는 방법에 대한 작은 블로그 게시물 을 작성했습니다 .

작동하는지 여부를 실제로 테스트하지 않았으므로 피드백이 좋을 것입니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.