Re: [PATCH] fix timerfd support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tomonori ,

Thanks for your response.
Please see my response inline.

On 2016/5/10 7:35, FUJITA Tomonori wrote:
On Tue,  3 May 2016 16:45:38 +0800
Feng Li <li.feng@xxxxxxxxxx> wrote:

From: vonnyfly <lifeng1519@xxxxxxxxx>

There are some exceptions when checking features in Makefile.
In my debian, timerfd.h path is not '/usr/include/sys/timerfd.h'.

  $ find /usr/include -name "timerfd.h" | head -n1
  /usr/include/x86_64-linux-gnu/sys/timerfd.h

In my raspberrypi, the path is also not here.

So, it will not enable timerfd, even though it supports actually.
When I enable it after fix.  I have seen error logs.
"Failed to write to pipe".

 From the code, we could know in add_work, it calls work_timer_schedule_evt.
work_timer_schedule_evt will call write(timer_fd[1], ...), then it will print error log,
because timer_fd[1] == -1.
Looks like with timerfd enabled, work_timer_schedule_evt() isn't
called. add_work() is always called with the non-zero second
argument. How you hit the above bug?
The easiest way to see this log is to replace 'add_work(&nop_work, 1);' to 'add_work(&nop_work, 0);'.
Like this:

--- a/usr/iscsi/iscsi_tcp.c
+++ b/usr/iscsi/iscsi_tcp.c
@@ -438,7 +438,7 @@ static int iscsi_tcp_init(void)

        nop_work.func = iscsi_tcp_nop_work_handler;
        nop_work.data = &nop_work;
-       add_work(&nop_work, 1);
+       add_work(&nop_work, 0);

tgtd: work_timer_schedule_evt(69) Failed to write to pipe, Bad file descriptor


When enable timerfd support, makefile check incorrectly.
work_timer_schedule_evt should check support of timerfd.

Signed-off-by: vonnyfly <lifeng1519@xxxxxxxxx>
---
  usr/Makefile | 2 +-
  usr/work.c   | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SCSI]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux