public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug nptl/16630] New: Use SYSENTER for pthread_cond_broadcast/signal() (i.e. fix "FIXME: Ingo" issue)
@ 2014-02-24 22:41 cjones.bugs at gmail dot com
  2014-02-25  2:04 ` [Bug nptl/16630] " bugdal at aerifal dot cx
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: cjones.bugs at gmail dot com @ 2014-02-24 22:41 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=16630

            Bug ID: 16630
           Summary: Use SYSENTER for pthread_cond_broadcast/signal() (i.e.
                    fix "FIXME: Ingo" issue)
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: nptl
          Assignee: unassigned at sourceware dot org
          Reporter: cjones.bugs at gmail dot com
                CC: drepper.fsp at gmail dot com

Created attachment 7437
  --> https://sourceware.org/bugzilla/attachment.cgi?id=7437&action=edit
Use SYSENTER for pthread_cond_broadcast/signal().

On x86, pthread_cond_broadcast/signal() enter the kernel using |int $0x80|,
apparently because there was a time in the distant past when 6-arg syscalls
couldn't made through __kernel_vsyscall():

/* FIXME: Until Ingo fixes 4G/4G vDSO, 6 arg syscalls are broken for sysenter.
    ENTER_KERNEL  */

This bug has been fixed, so we can update glibc.

One motivation for landing this patch is that some applications may see a perf
improvement from using the faster syscall interface. 
pthread_cond_broadcast/signal() are frequently used by some applications.

(Another motivation for this patch is rather unsavory so I hesitate to mention
it.  Some naughty programs may want to hook __kernel_vsyscall() for their own
purposes, and the |int $0x80| hack prevents these futex calls from being seen
by those kind of hooks.)

I apologize for not knowing the glibc patch protocol.  Please let me know if I
need to request review from someone.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-06-13  6:48 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-24 22:41 [Bug nptl/16630] New: Use SYSENTER for pthread_cond_broadcast/signal() (i.e. fix "FIXME: Ingo" issue) cjones.bugs at gmail dot com
2014-02-25  2:04 ` [Bug nptl/16630] " bugdal at aerifal dot cx
2014-02-25  4:51 ` cjones.bugs at gmail dot com
2014-02-25  5:47 ` bugdal at aerifal dot cx
2014-02-25 16:11   ` Ondřej Bílka
2014-02-25  7:41 ` cjones.bugs at gmail dot com
2014-02-25 16:12 ` neleai at seznam dot cz
2014-03-01 22:36 ` cjones.bugs at gmail dot com
2014-03-01 23:54 ` bugdal at aerifal dot cx
2014-03-02  0:09 ` cjones.bugs at gmail dot com
2014-03-02  0:13 ` bugdal at aerifal dot cx
2014-06-13  6:48 ` fweimer at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).