lkml.org 
[lkml]   [2019]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT PULL] pipe: Notification queue preparation
On Thu, Dec 05, 2019 at 01:56:57PM +0000, David Howells wrote:
> David Sterba <dsterba@suse.cz> wrote:
>
> > [<0>] pipe_write+0x1be/0x4b0
>
> Can you get me a line number of that? Assuming you've built with -g, load
> vmlinux into gdb and do "i li pipe_write+0x1be".

I built it with -g (DEBUG_INFO) but there's no output for the command (gdb 8.2):

(gdb) i li pipe_write+0x1be
Function "pipe_write+0x1be" not defined.

But the address can tell something:

(gdb) l *(pipe_write+0x1be)
0xffffffff81390b8e is in pipe_write (fs/pipe.c:509).
warning: Source file is more recent than executable.
504 kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
505 do_wakeup = 0;
506 }
507 pipe->waiting_writers++;
508 pipe_wait(pipe);
509 pipe->waiting_writers--;
510 }
511 out:
512 __pipe_unlock(pipe);
513 if (do_wakeup) {

I rerun the test again (with a different address where it's stuck), there's
nothing better I can get from the debug info, it always points to pipe_wait,
disassembly points to:

0xffffffff81390b71 <+417>: jne 0xffffffff81390c23 <pipe_write+595>
0xffffffff81390b77 <+423>: test %ecx,%ecx
0xffffffff81390b79 <+425>: jne 0xffffffff81390b95 <pipe_write+453>
0xffffffff81390b7b <+427>: addl $0x1,0x110(%rbx)
0xffffffff81390b82 <+434>: mov %rbx,%rdi
0xffffffff81390b85 <+437>: callq 0xffffffff813908c0 <pipe_wait>
0xffffffff81390b8a <+442>: subl $0x1,0x110(%rbx)

(pipe_write+0x1ba == 0xffffffff81390b8a)

\
 
 \ /
  Last update: 2019-12-05 18:23    [W:0.076 / U:4.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site