lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <x2r412e6f7f1004020645y606f6af1k3fcfc19f08378103@mail.gmail.com>
Date:	Fri, 2 Apr 2010 21:45:12 +0800
From:	Changli Gao <xiaosuo@...il.com>
To:	Eric Dumazet <eric.dumazet@...il.com>
Cc:	Tom Herbert <therbert@...gle.com>, davem@...emloft.net,
	netdev@...r.kernel.org
Subject: Re: [PATCH] rfs: Receive Flow Steering

On Fri, Apr 2, 2010 at 8:01 PM, Eric Dumazet <eric.dumazet@...il.com> wrote:
> Le vendredi 02 avril 2010 à 18:58 +0800, Changli Gao a écrit :
>
> This dispatch things in UserLand is a poor workaround even if its
> popular (because people try to code portable applications), the hard
> work is already done, this increases latencies and bus traffic.
>
> For short works, that is too expensive.

I'll write a sample program to verify it. For TCP progam, I think it
won't be too expensive.

>
> If you really want to speedup memcached/DNS_server like apps, you might
> add a generic mechanism in kernel to split queues of _individual_
> socket.
>
> Aka multiqueue capabilities at socket level. Combined to multiqueue
> devices or RPS, this can be great.
>
>
> That is, an application tells kernel in how many queues incoming UDP
> frames for a given port can be dispatched (number of worker threads)
> No more contention, and this can be done regardless of RPS/RFS.
>
> UDP frame comes in, and is stored on the appropriate sub-queue (can be a
> mapping given by current cpu number). Wakeup the thread that is likely
> running on same cpu.
>
> Same for outgoing frames (answers). You might split the sk_wmemalloc
> thing to make sure several cpus can concurrently use same UDP socket to
> send their frames.
>

Yea. It much likes my another idea: selective wakeup. Always try to
wake up the sleeping process which is likely running on the same cpu.

-- 
Regards,
Changli Gao(xiaosuo@...il.com)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ