My patch will have this code to use Epoll on Linux systems if available or 
fallback to NIO if not.

Kishore

Sent from my iPhone

> On Mar 6, 2017, at 7:44 AM, Bobby Evans <ev...@yahoo-inc.com.INVALID> wrote:
> 
> Sure, I am happy to add it in afterwards too.
> 
> 
> - Bobby
> 
> On Monday, March 6, 2017, 9:42:14 AM CST, Enrico Olivelli 
> <eolive...@gmail.com> wrote:Great,
> so Kishore and JV, can you take this into account on the Netty 4 patch ?
> 
> or maybe we can create a first baseline fom Kishore and than add the
> "natvie EPoll" feature with a patch from Yahoo codebase.
> 
> Bobby, can you put a comment on the JIRA for Netty 4 ?
> 
> Thank you
> Enrico
> 
> 2017-03-06 16:29 GMT+01:00 Bobby Evans <ev...@yahoo-inc.com.invalid>:
> 
>> The code we have will try for epoll and then fall back to nio if it does
>> not work.
>> There are a few places in the code that we do this, but they all more or
>> less boil down to something like the following
>> 
>>     static EventLoopGroup getDefaultEventLoopGroup() {
>>         ThreadFactory threadFactory = new DefaultThreadFactory("
>> bookkeeper-io");
>>         final int numThreads = Runtime.getRuntime().availableProcessors()
>> * 2;
>> 
>>         if (SystemUtils.IS_OS_LINUX) {
>>             try {
>>                 return new EpollEventLoopGroup(numThreads, threadFactory);
>>             } catch (Throwable t) {
>>                 if (LOG.isDebugEnabled()) {
>>                     LOG.debug("Could not use Netty Epoll event loop: {}",
>> t.getMessage());
>>                 }
>>                 return new NioEventLoopGroup(numThreads, threadFactory);
>>             }
>>         } else {
>>             return new NioEventLoopGroup(numThreads, threadFactory);
>>         }
>>     }
>> ...
>>         if (eventLoopGroup instanceof EpollEventLoopGroup) {
>>             bootstrap.channel(EpollServerSocketChannel.class);
>>         } else {
>>             bootstrap.channel(NioServerSocketChannel.class);
>>         }
>> 
>> 
>> 
>> - Bobby
>> 
>> On Saturday, March 4, 2017, 8:29:52 AM CST, Enrico Olivelli <
>> eolive...@gmail.com> wrote:Hi all,
>> As we are switching to netty 4.1 maybe ee can look to this too:
>> http://netty.io/wiki/native-transports.html
>> 
>> Even if I have been using netty 4 for some year I did not get this
>> promising feature on linux.
>> 
>> Did any of you ever give it a try?
>> 
>> Enrico
>> --
>> 
>> 
>> -- Enrico Olivelli
>> 

Reply via email to