Useless operation on proc registry

Bug #1591193 reported by asu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Low
Unassigned

Bug Description

Exist one situation on 64bit linux-kernel on every fuction (i'fill angry) on perf exist
  16,67 │ mov %rsp,%rbp
which spent 16 cycles.
This move from offset pointer reg to base pointer register , looking here for more info
 http://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64/
 On 64 bit platform not need this.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-22-generic 4.4.0-22.40
ProcVersionSignature: Ubuntu 4.4.0-22.40-generic 4.4.8
Uname: Linux 4.4.0-22-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/pcmC0D0p: asu 4579 F...m pulseaudio
 /dev/snd/controlC0: asu 4579 F.... pulseaudio
CurrentDesktop: Unity
Date: Fri Jun 10 16:05:09 2016
InstallationDate: Installed on 2016-04-29 (41 days ago)
InstallationMedia: Ubuntu-Studio 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
IwConfig:
 lo no wireless extensions.

 enp1s0 no wireless extensions.
MachineType: Olidata S.p.A. ALABAMA
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-22-generic root=/dev/mapper/192--168--0--108--vg-root ro
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-22-generic N/A
 linux-backports-modules-4.4.0-22-generic N/A
 linux-firmware 1.157
RfKill:

SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/08/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: S0101
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: To be filled by O.E.M.
dmi.board.vendor: To be filled by O.E.M.
dmi.board.version: To be filled by O.E.M.
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrS0101:bd07/08/2008:svnOlidataS.p.A.:pnALABAMA:pvrToBeFilledByO.E.M.:rvnTobefilledbyO.E.M.:rnTobefilledbyO.E.M.:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: ALABAMA
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: Olidata S.p.A.

Revision history for this message
asu (corcodel-marian) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → Low
Revision history for this message
asu (corcodel-marian) wrote :

this affect all functions from kernel can' t bee importance low ,on every invocation of all functions from kernel space ,from user space processor loose 16 cycles ( 16,67 │ mov %rsp,%rbp).
On user space not exist this issue.

Revision history for this message
asu (corcodel-marian) wrote :

Propose to change Importance:High

Revision history for this message
asu (corcodel-marian) wrote :

On terminal run sudo perf record -e cycles -ag and then perf report
iov_iter_init /proc/kcore
       │
       │
       │
       │ Disassembly of section load0:
       │
       │ ffffffff813fbae0 <load0>:
       │ push %rbp
       │ mov %gs:0x14204,%rax
       │ cmpq $0xffffffffffffffff,-0x3fe8(%rax)
100,00 │ mov %rsp,%rbp
       │ ↓ je 2f
       │ mov %esi,(%rdi)
       │ mov %rdx,0x18(%rdi)
       │1d: mov %rcx,0x20(%rdi)
       │ movq $0x0,0x8(%rdi)
       │ mov %r8,0x10(%rdi)
       │ pop %rbp
       │ ← retq
       │2f: or $0x2,%esi
       │ mov %rdx,0x18(%rdi)
       │ mov %esi,(%rdi)
       │ ↑ jmp 1d

Under function iov_iter_init loose 100 cycles!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.