lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 4 Apr 2007 15:46:24 +0200
From:	Eric Dumazet <dada1@...mosbay.com>
To:	Maxim Uvarov <muvarov@...mvista.com>
Cc:	Valdis.Kletnieks@...edu, linux-kernel@...r.kernel.org
Subject: Re: Performance Stats: Kernel patch

On Wed, 04 Apr 2007 17:15:43 +0400
Maxim Uvarov <muvarov@...mvista.com> wrote:

>
> --- linux-2.6.18.orig/arch/i386/kernel/entry.S
> +++ linux-2.6.18/arch/i386/kernel/entry.S
> @@ -394,6 +394,9 @@ syscall_exit:
>         cli                             # make sure we don't miss an 
> interrupt
>                                         # setting need_resched or sigpending
>                                         # between sampling and the iret
> +#ifdef CONFIG_THREAD_PERF_STAT_SYSC
> +       call inc_syscallcnt             # Increment syscalls counter 
> current->sysc_cnt
> +#endif /* CONFIG_THREAD_PERF_STAT_SYSC */

Please dont call a function to do one increment !

You are touching one of the most critical part of the kernel...

Also, dont do this while interrupts are masked, this is not necessary.

Maybe better to place sysc_cnt in 'struct thread_info' because %ebp point to it.

Also you missed the fact that syscalls on i386 can use sysenter (around line 343)

>         TRACE_IRQS_OFF
>         movl TI_flags(%ebp), %ecx
>         testw $_TIF_ALLWORK_MASK, %cx   # current->work
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ