On Tue, Aug 26, 2014 at 03:18:37PM +0300, Or Gerlitz wrote:
> On 25/08/2014 22:33, Doug Ledford wrote:
> >>On Aug 25, 2014, at 1:33 PM, Jason Gunthorpe 
> >><jguntho...@obsidianresearch.com> wrote:
> >>
> >>>>>+    timer_fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK | 
> >>>>>TFD_CLOEXEC);
> >>>>>+    if (-1 == timer_fd) {
> >>>>>+        print_err("Couldn't create timer\n");
> >>>>>+        return timer_fd;
> >>>>>+    }
> >>>>
> >>>>The use of timerfd will impact the minimum OS version, have you
> >>>>checked this is OK? Does RHEL5 still work?
> >>
> >>>It was added in linux v2.6.25. I think that an API that's more than
> >>>6.5 years old is valid.
> >>
> >>RHEL5 is using 2.6.18 as their base kernel. You should at least
> >>consult with the OFED people to determine if this is a problem for
> >>them.
> >
> >Please don't.  This code should not be changed for something as ancient as 
> >rhel5.
> 
> Indeed. Telling people to avoid using constructs/mechanisms ~6-7
> years after they were introduced isn't something we want nor need to
> do.

I looked myself and it looks like OFED has dropped support for these
old distros so there isn't any problem.

However, I still think this use of timerfd is fairly gratuitous, and
looking closer, causes little bugs:

+               if (timerfd_settime(timer_fd, 0, &timer_time, NULL)) {
+                                             print_err("Couldn't set timer\n");
+                       return -1;
                     ^^^^^^^^^^^^^^
leaks timer_fd


Alos, I noticed:

+       /* wait for an incoming message on the netlink socket */
+          ret = select(nfds, &fdset, NULL, NULL, NULL);
+
+               if (ret) {

Fails to detect error return from select.

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

Reply via email to