Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
On Tue, Feb 20, 2007 at 07:59:07PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > I've attached source code and running script. > $ ./run.sh Yep, of course. -- Evgeniy Polyakov #include #include #include #include #include #include #include typedef unsig

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
On Tue, Feb 20, 2007 at 05:38:19PM +0100, Eric Dumazet ([EMAIL PROTECTED]) wrote: > > It is secrecy, not security - attacker will check the source and find > > where constant per-boot value is added and recalculate attack vector - > > we all were college students, it would be even more fun to crac

Re: all syscalls initially taking 4usec on a P4? Re: nonblocking UDPv4 recvfrom() taking 4usec @ 3GHz?

2007-02-20 Thread Evgeniy Polyakov
erhead on my p4 (core duo, debian testing) is bout 300 usec - to test I ran read('dev/zero', &data, 0) in a loop. Could you try to hack recvfrom() for your socket to always copy some empty buffer and check the results without waiting for packet? If you are not hurry I can

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
onstant one of the first like in rt_hash_code(). -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
On Tue, Feb 20, 2007 at 07:49:11AM -0800, Michael K. Edwards ([EMAIL PROTECTED]) wrote: > On 2/20/07, Evgeniy Polyakov <[EMAIL PROTECTED]> wrote: > >Jenkins _does_ have them, I showed tests half a year ago and in this > >thread too. Actually _any_ hash has them it is just a

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
t; But if you don't care about DoS Jenkins _does_ have them, I showed tests half a year ago and in this thread too. Actually _any_ hash has them it is just a matter of time to find one. > Cheers, > - Michael -- Evgeniy Polyakov - To unsubscribe from this list: send the line

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
On Tue, Feb 20, 2007 at 12:25:23PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > And there is _no_ O(1) - O(1) is just a hash entry selection, then you > need to add the whole chain path, which can be long enough. > For example for the length 9 you have 1000 entries - it is exa

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
ith the extra ops, at > least no artifacts. Maybe this is related to the fact my hash size is 2^20 ? > > If we use jenkin hash: > [0]:617469 0% > [1]:326671 58.7654% > [2]:86704 89.9601% > [3]:15387 98.264% > [4]:2103 99.7773% > [5]:216 99.9716% > [6]:24 99.9975% >

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
ery different) until first 'miss', but it is still non zero. But generally I afgree that talking about caches can only be valid when all other issues are resolved completely. So, we need a patch. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubsc

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
g board to design simple trie algo/patch suitable for hash table selection replacement, so that we would test it in a real life examples. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] M

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
some bytes... and > adding artifacts. If distribution is fair its whift produces still fair distribution. In the discussion linked at that test I also produced results without shifts, which were exactly the same. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "u

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
s a better hash distribution for a litle cpu cost. > I will post later a distribution simulation based on the data gathered from > the same real server. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
http://tservice.net.ru/~s0mbre/blog/2006/06/01#2006_06_01 -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
et forwarding, so they do have theirs caches filled with all needed information (especially if all above is implemented in hardware and thus is completely different), but it does not mean that existing systems do not allow to scale with trees with existing cache issues. -- Evgeniy Polyak

Re: Extensible hashing and RCU

2007-02-20 Thread Evgeniy Polyakov
thin 17 lookups (hash chain length is 1), but given into account size of the entry - let's say it is equal to 32+32+32 - size of the key 32+32+32 - size of the left/right/parent pointer so 192 bytes per entry - given into acount that 1/4 of the 1-2 MB cache is filled with it, we get about 1300

Re: Extensible hashing and RCU

2007-02-19 Thread Evgeniy Polyakov
tential, but original question was why tree/trie based implementation is not considered at all although it promises better performance and scalability. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PRO

Re: Extensible hashing and RCU

2007-02-19 Thread Evgeniy Polyakov
very easily. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Extensible hashing and RCU

2007-02-19 Thread Evgeniy Polyakov
On Mon, Feb 19, 2007 at 02:38:13PM +0100, Eric Dumazet ([EMAIL PROTECTED]) wrote: > On Monday 19 February 2007 12:41, Evgeniy Polyakov wrote: > > > > 1 microsecond ? Are you kidding ? We want no more than 50 ns. > > > > Theory again. > > > Theory is ni

Re: Extensible hashing and RCU

2007-02-19 Thread Evgeniy Polyakov
On Sun, Feb 18, 2007 at 09:21:30PM +0100, Eric Dumazet ([EMAIL PROTECTED]) wrote: > Evgeniy Polyakov a e'crit : > >On Sun, Feb 18, 2007 at 07:46:22PM +0100, Eric Dumazet > >([EMAIL PROTECTED]) wrote: > >>>Why anyone do not want to use trie - for socket-like lo

Re: Extensible hashing and RCU

2007-02-18 Thread Evgeniy Polyakov
because an admin can size it > at boot time. But RCU is definitly *wanted* Trie in that regard is true winner - its RCU'fication is trivial. > Note : It would be good to also use RCU for UDP, because the current rwlock > protecting udp_hash[] is a scalability problem. --

Re: [RFC] [PATCH] Network Events Connector

2007-02-17 Thread Evgeniy Polyakov
y some bits from proc connector, which suffered from that errors in the past. > Thanks a lot, > Samir Bellabes -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [Bug 8013] New: select for write hangs on a socket after write returned ECONNRESET

2007-02-17 Thread Evgeniy Polyakov
On Fri, Feb 16, 2007 at 09:34:27PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > Otherwise we can extend select output mask to include hungup too > (getting into account that hungup is actually output event). This is another possible way to fix select after write after connection

Re: Extensible hashing and RCU

2007-02-17 Thread Evgeniy Polyakov
;unsubscribe netdev" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [Bug 8013] New: select for write hangs on a socket after write returned ECONNRESET

2007-02-16 Thread Evgeniy Polyakov
On Fri, Feb 16, 2007 at 10:29:14AM -0800, Stephen Hemminger ([EMAIL PROTECTED]) wrote: > On Fri, 16 Feb 2007 19:10:45 +0300 > Evgeniy Polyakov <[EMAIL PROTECTED]> wrote: > > > one of the possible fixes for select() after write() after ECONNRESET. > > > > Signed

Re: Fw: [Bug 8013] New: select for write hangs on a socket after write returned ECONNRESET

2007-02-16 Thread Evgeniy Polyakov
one of the possible fixes for select() after write() after ECONNRESET. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index b67e0dd..661ca0c 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -365,7 +365,7 @@ unsigned int tcp_poll(struc

Re: Fw: [Bug 8013] New: select for write hangs on a socket after write returned ECONNRESET

2007-02-16 Thread Evgeniy Polyakov
On Fri, Feb 16, 2007 at 06:39:58PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > On Fri, Feb 16, 2007 at 06:28:58PM +0300, Evgeniy Polyakov ([EMAIL > PROTECTED]) wrote: > > On Fri, Feb 16, 2007 at 06:25:57PM +0300, Evgeniy Polyakov ([EMAIL > > PROTECTED]) wrote: &g

Re: Fw: [Bug 8013] New: select for write hangs on a socket after write returned ECONNRESET

2007-02-16 Thread Evgeniy Polyakov
On Fri, Feb 16, 2007 at 06:28:58PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > On Fri, Feb 16, 2007 at 06:25:57PM +0300, Evgeniy Polyakov ([EMAIL > PROTECTED]) wrote: > > On Thu, Feb 15, 2007 at 04:04:05PM -0800, Stephen Hemminger ([EMAIL > > PROTECTED]) wrote: >

Re: Fw: [Bug 8013] New: select for write hangs on a socket after write returned ECONNRESET

2007-02-16 Thread Evgeniy Polyakov
On Fri, Feb 16, 2007 at 06:25:57PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > On Thu, Feb 15, 2007 at 04:04:05PM -0800, Stephen Hemminger ([EMAIL > PROTECTED]) wrote: > > Someone want to take a stab at fixing this?? > > Works for me with attached application - s

Re: Fw: [Bug 8013] New: select for write hangs on a socket after write returned ECONNRESET

2007-02-16 Thread Evgeniy Polyakov
: 0. write: err: 128, errno: 0. select: err: 1, errno: 0. write: err: 128, errno: 0. select: err: 1, errno: 0. write: err: -1, errno: 104. on exit: select: err: 1, errno: 104. -- Evgeniy Polyakov #include #include #include #include #include #include #include #include #incl

Re: [take35 0/10] kevent: Generic event handling mechanism.

2007-02-12 Thread Evgeniy Polyakov
On Mon, Feb 12, 2007 at 09:13:35AM -0800, Andrew Morton ([EMAIL PROTECTED]) wrote: > > On Mon, 12 Feb 2007 13:35:10 +0300 Evgeniy Polyakov <[EMAIL PROTECTED]> > > wrote: > > Andrew, do you consider kevent for inclusion or declining? > > I haven't had time to

Re: [take35 0/10] kevent: Generic event handling mechanism.

2007-02-12 Thread Evgeniy Polyakov
On Mon, Feb 12, 2007 at 06:59:17AM -0800, Ulrich Drepper ([EMAIL PROTECTED]) wrote: > Evgeniy Polyakov wrote: > > I think that mean that everybody is happy with APi, design and set of > > features. > > No comment means that I still have not been able to test anything since

Re: [take36 10/10] kevent: Kevent based generic AIO.

2007-02-12 Thread Evgeniy Polyakov
machine it is quite trivially: req = kaio_add_call(NULL, first_call) kaio_append_call(req, second_call); kaio_append_call(req, third_call); ... kaio_schedule_req(req); Yes, state machine handling requires additional code, but when it ends up in faster processing implementation complexities deserve its p

Re: [take36 10/10] kevent: Kevent based generic AIO.

2007-02-12 Thread Evgeniy Polyakov
On Mon, Feb 12, 2007 at 02:08:10PM +0100, Andi Kleen ([EMAIL PROTECTED]) wrote: > Evgeniy Polyakov <[EMAIL PROTECTED]> writes: > > > > aio_sendfile_path() is essentially aio_sendfile(), except that it takes > > source filename as parameter, has a pointer to private hea

[take36 5/10] kevent: Timer notifications.

2007-02-12 Thread Evgeniy Polyakov
nanoseconds Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_timer.c b/kernel/kevent/kevent_timer.c new file mode 100644 index 000..c21a155 --- /dev/null +++ b/kernel/kevent/kevent_timer.c @@ -0,0 +1,114 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov &

[take36 8/10] kevent: Kevent posix timer notifications.

2007-02-12 Thread Evgeniy Polyakov
Kevent posix timer notifications. Simple extension to POSIX timers which allows to deliver notification of the timer expiration through kevent queue. Example application posix_timer.c can be found in archive on project homepage. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff

[take36 4/10] kevent: Socket notifications.

2007-02-12 Thread Evgeniy Polyakov
Socket notifications. This patch includes socket send/recv/accept notifications. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/inode.c b/fs/inode.c index bf21dc6..82817b1 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -21,6 +21,7 @@ #include #include #include +#i

[take36 9/10] kevent: Private userspace notifications.

2007-02-12 Thread Evgeniy Polyakov
Private userspace notifications. Allows to register notifications of any private userspace events over kevent. Events can be marked as ready using kevent_ctl(KEVENT_READY) command. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_unotify.c b/kernel/

[take36 10/10] kevent: Kevent based generic AIO.

2007-02-12 Thread Evgeniy Polyakov
sending server is one-way AMD Athlong 64 3500+) for aio_sendfile_path(). AIO state machine is a base for network AIO (which becomes quite trivial), but I will not start implementation until roadback of kevent as a whole and AIO implementation become more clear. Signed-off-by: Evgeniy Polyakov <

[take36 7/10] kevent: Signal notifications.

2007-02-12 Thread Evgeniy Polyakov
mm_release()? diff --git a/kernel/kevent/kevent_signal.c b/kernel/kevent/kevent_signal.c new file mode 100644 index 000..abe3972 --- /dev/null +++ b/kernel/kevent/kevent_signal.c @@ -0,0 +1,94 @@ +/* + * kevent_signal.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + *

[take36 1/10] kevent: Description.

2007-02-12 Thread Evgeniy Polyakov
Description. diff --git a/Documentation/kevent.txt b/Documentation/kevent.txt new file mode 100644 index 000..d6e126f --- /dev/null +++ b/Documentation/kevent.txt @@ -0,0 +1,271 @@ +Description. + +int kevent_init(struct kevent_ring *ring, unsigned int ring_size, + unsigned int flags)

[take36 3/10] kevent: poll/select() notifications.

2007-02-12 Thread Evgeniy Polyakov
rn spinlock_t files_lock; diff --git a/kernel/kevent/kevent_poll.c b/kernel/kevent/kevent_poll.c new file mode 100644 index 000..58129fa --- /dev/null +++ b/kernel/kevent/kevent_poll.c @@ -0,0 +1,234 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved

[take36 6/10] kevent: Pipe notifications.

2007-02-12 Thread Evgeniy Polyakov
00644 index 000..91dc1eb --- /dev/null +++ b/kernel/kevent/kevent_pipe.c @@ -0,0 +1,123 @@ +/* + * kevent_pipe.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + *

Re: [take35 0/10] kevent: Generic event handling mechanism.

2007-02-12 Thread Evgeniy Polyakov
On Mon, Feb 05, 2007 at 05:23:36PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > On Thu, Feb 01, 2007 at 01:12:30PM +0300, Evgeniy Polyakov ([EMAIL > PROTECTED]) wrote: > > > > Generic event handling mechanism. > > > > Kevent is a generic subsyte

Re: [take35 0/10] kevent: Generic event handling mechanism.

2007-02-05 Thread Evgeniy Polyakov
On Mon, Feb 05, 2007 at 11:28:05AM -0600, David M. Lloyd ([EMAIL PROTECTED]) wrote: > On Thu, 2007-02-01 at 13:12 +0300, Evgeniy Polyakov wrote: > > Generic event handling mechanism. > > The patch applied cleanly to 2.6.20 final, but I got a build error: > > CC k

Re: [take35 0/10] kevent: Generic event handling mechanism.

2007-02-05 Thread Evgeniy Polyakov
On Thu, Feb 01, 2007 at 01:12:30PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > > Generic event handling mechanism. > > Kevent is a generic subsytem which allows to handle event notifications. > It supports both level and edge triggered events. It is similar to >

[ANN] Acrypto asynchronous crypto layer 2.6.20 release.

2007-02-03 Thread Evgeniy Polyakov
Evgeniy Polyakov <[EMAIL PROTECTED]> -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH] mm: fix page_mkclean_one

2007-02-02 Thread Evgeniy Polyakov
ed, someone there might have additional comments. > > Please close this bug if/when you are satisfied it is not a kernel problem. > > Thanks, > Nick > > -- > SUSE Labs, Novell Inc. > Send instant messages to your online friends http://au.messenger.yahoo.com --

/async open+send/ Re: [take35 10/10] kevent: Kevent based AIO (aio_sendfile()/aio_sendfile_path()).

2007-02-02 Thread Evgeniy Polyakov
On Thu, Feb 01, 2007 at 01:12:34PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > > Kevent based AIO (aio_sendfile()/aio_sendfile_path()). > > aio_sendfile()/aio_sendfile_path() contains of two major parts: AIO > state machine and page processing code. > The form

[take35 5/10] kevent: Timer notifications.

2007-02-01 Thread Evgeniy Polyakov
nanoseconds Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_timer.c b/kernel/kevent/kevent_timer.c new file mode 100644 index 000..c21a155 --- /dev/null +++ b/kernel/kevent/kevent_timer.c @@ -0,0 +1,114 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov &

[take35 8/10] kevent: Kevent posix timer notifications.

2007-02-01 Thread Evgeniy Polyakov
Kevent posix timer notifications. Simple extension to POSIX timers which allows to deliver notification of the timer expiration through kevent queue. Example application posix_timer.c can be found in archive on project homepage. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff

[take35 9/10] kevent: Private userspace notifications.

2007-02-01 Thread Evgeniy Polyakov
Private userspace notifications. Allows to register notifications of any private userspace events over kevent. Events can be marked as ready using kevent_ctl(KEVENT_READY) command. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_unotify.c b/kernel/

[take35 0/10] kevent: Generic event handling mechanism.

2007-02-01 Thread Evgeniy Polyakov
added new syscall kevent_get_events(int fd, unsigned int min_nr, unsigned int max_nr, unsigned int timeout, void __user *buf, unsigned flags) - use old syscall kevent_ctl for creation/removing, modification and initial kevent initialization - use mutuxe

[take35 10/10] kevent: Kevent based AIO (aio_sendfile()/aio_sendfile_path()).

2007-02-01 Thread Evgeniy Polyakov
machine is a base for network AIO (which becomes quite trivial), but I will not start implementation until roadback of kevent as a whole and AIO implementation become more clear. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/bio.c b/fs/bio.c index 7618bcb..291e7e8 100644 -

[take35 3/10] kevent: poll/select() notifications.

2007-02-01 Thread Evgeniy Polyakov
rn spinlock_t files_lock; diff --git a/kernel/kevent/kevent_poll.c b/kernel/kevent/kevent_poll.c new file mode 100644 index 000..58129fa --- /dev/null +++ b/kernel/kevent/kevent_poll.c @@ -0,0 +1,234 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved

[take35 4/10] kevent: Socket notifications.

2007-02-01 Thread Evgeniy Polyakov
Socket notifications. This patch includes socket send/recv/accept notifications. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/inode.c b/fs/inode.c index bf21dc6..82817b1 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -21,6 +21,7 @@ #include #include #include +#i

[take35 1/10] kevent: Description.

2007-02-01 Thread Evgeniy Polyakov
Description. diff --git a/Documentation/kevent.txt b/Documentation/kevent.txt new file mode 100644 index 000..d6e126f --- /dev/null +++ b/Documentation/kevent.txt @@ -0,0 +1,271 @@ +Description. + +int kevent_init(struct kevent_ring *ring, unsigned int ring_size, + unsigned int flags)

[take35 7/10] kevent: Signal notifications.

2007-02-01 Thread Evgeniy Polyakov
mm_release()? diff --git a/kernel/kevent/kevent_signal.c b/kernel/kevent/kevent_signal.c new file mode 100644 index 000..abe3972 --- /dev/null +++ b/kernel/kevent/kevent_signal.c @@ -0,0 +1,94 @@ +/* + * kevent_signal.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + *

[take35 6/10] kevent: Pipe notifications.

2007-02-01 Thread Evgeniy Polyakov
00644 index 000..91dc1eb --- /dev/null +++ b/kernel/kevent/kevent_pipe.c @@ -0,0 +1,123 @@ +/* + * kevent_pipe.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + *

Re: [take34 0/10] kevent: Generic event handling mechanism.

2007-01-25 Thread Evgeniy Polyakov
On Thu, Jan 25, 2007 at 04:48:30PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED]) wrote: > Changes from 'take33' patchset: > * Added optional header pointer and its size into aio_sendfile_path(), >which allows to send header and file in one syscall instead of >s

[take34 10/10] kevent: Kevent based AIO (aio_sendfile()/aio_sendfile_path()).

2007-01-25 Thread Evgeniy Polyakov
ation become more clear. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/bio.c b/fs/bio.c index 7618bcb..291e7e8 100644 --- a/fs/bio.c +++ b/fs/bio.c @@ -120,7 +120,7 @@ void bio_free(struct bio *bio, struct bio_set *bio_set) /* * default destructor for a bio allocate

[take34 9/10] kevent: Private userspace notifications.

2007-01-25 Thread Evgeniy Polyakov
Private userspace notifications. Allows to register notifications of any private userspace events over kevent. Events can be marked as readt using kevent_ctl(KEVENT_READY) command. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_unotify.c b/kernel/

[take34 3/10] kevent: poll/select() notifications.

2007-01-25 Thread Evgeniy Polyakov
rn spinlock_t files_lock; diff --git a/kernel/kevent/kevent_poll.c b/kernel/kevent/kevent_poll.c new file mode 100644 index 000..58129fa --- /dev/null +++ b/kernel/kevent/kevent_poll.c @@ -0,0 +1,234 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved

[take34 0/10] kevent: Generic event handling mechanism.

2007-01-25 Thread Evgeniy Polyakov
ed int timeout, void __user *buf, unsigned flags) - use old syscall kevent_ctl for creation/removing, modification and initial kevent initialization - use mutuxes instead of semaphores - added file descriptor check and return error if provided descriptor does not match kevent file operations - various indent fixes - removed aio_sendfile() declarations. Thank you. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

[take34 7/10] kevent: Signal notifications.

2007-01-25 Thread Evgeniy Polyakov
mm_release()? diff --git a/kernel/kevent/kevent_signal.c b/kernel/kevent/kevent_signal.c new file mode 100644 index 000..abe3972 --- /dev/null +++ b/kernel/kevent/kevent_signal.c @@ -0,0 +1,94 @@ +/* + * kevent_signal.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + *

[take34 8/10] kevent: Kevent posix timer notifications.

2007-01-25 Thread Evgeniy Polyakov
Kevent posix timer notifications. Simple extensions to POSIX timers which allows to deliver notification of the timer expiration through kevent queue. Example application posix_timer.c can be found in archive on project homepage. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff

[take34 5/10] kevent: Timer notifications.

2007-01-25 Thread Evgeniy Polyakov
nanoseconds Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_timer.c b/kernel/kevent/kevent_timer.c new file mode 100644 index 000..c21a155 --- /dev/null +++ b/kernel/kevent/kevent_timer.c @@ -0,0 +1,114 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov &

[take34 4/10] kevent: Socket notifications.

2007-01-25 Thread Evgeniy Polyakov
found on project's homepage. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/inode.c b/fs/inode.c index bf21dc6..82817b1 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -21,6 +21,7 @@ #include #include #include +#include #include /* @@ -164,12 +165,18 @@ sta

[take34 1/10] kevent: Description.

2007-01-25 Thread Evgeniy Polyakov
Description. diff --git a/Documentation/kevent.txt b/Documentation/kevent.txt new file mode 100644 index 000..d6e126f --- /dev/null +++ b/Documentation/kevent.txt @@ -0,0 +1,271 @@ +Description. + +int kevent_init(struct kevent_ring *ring, unsigned int ring_size, + unsigned int flags)

[take34 6/10] kevent: Pipe notifications.

2007-01-25 Thread Evgeniy Polyakov
00644 index 000..91dc1eb --- /dev/null +++ b/kernel/kevent/kevent_pipe.c @@ -0,0 +1,123 @@ +/* + * kevent_pipe.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + *

Re: Possible ways of dealing with OOM conditions.

2007-01-20 Thread Evgeniy Polyakov
actually any other allocator can be used of course. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Possible ways of dealing with OOM conditions.

2007-01-20 Thread Evgeniy Polyakov
On Sat, Jan 20, 2007 at 05:36:03PM -0500, Rik van Riel ([EMAIL PROTECTED]) wrote: > Evgeniy Polyakov wrote: > >On Fri, Jan 19, 2007 at 01:53:15PM +0100, Peter Zijlstra > >([EMAIL PROTECTED]) wrote: > > >>>Even further development of such idea is to prevent such

Re: Possible ways of dealing with OOM conditions.

2007-01-19 Thread Evgeniy Polyakov
ocations do not depend on other allocations. > > Even further development of such idea is to prevent such OOM condition > > at all - by starting swapping early (but wisely) and reduce memory > > usage. > > These just postpone execution but will not avoid it. No. If system al

Re: [take33 10/10] kevent: Kevent based AIO (aio_sendfile()/aio_sendfile_path()).

2007-01-19 Thread Evgeniy Polyakov
e syscall related to file transfer. Since I already "optimized" open() syscall into file sending, things can not became worse if I will put there header pointer too. I will schedule new kevent release with this change somewhere after current work on M-on-N threading model. > Regards >

Re: Possible ways of dealing with OOM conditions.

2007-01-18 Thread Evgeniy Polyakov
which will be used when system is in trouble. It is very similar to what you had. But the whole reserve can never be used at all, so it should be used, but not by those who can create OOM condition, thus it should be exported to, for example, network only, and when system is in trouble, network would be sti

Re: Possible ways of dealing with OOM conditions.

2007-01-18 Thread Evgeniy Polyakov
On Thu, Jan 18, 2007 at 04:10:52PM +0100, Peter Zijlstra ([EMAIL PROTECTED]) wrote: > On Thu, 2007-01-18 at 16:58 +0300, Evgeniy Polyakov wrote: > > > Network is special in this regard, since it only has one allocation path > > (actually it has one cache for skb, and usual kma

Possible ways of dealing with OOM conditions.

2007-01-18 Thread Evgeniy Polyakov
pages. Yes, receiving zero-copy without appropriate hardware assist is impossible, so either absence of such facility at all, or special overhead, which forces object to lie in different pages. With hardware assist it would be possible to select a flow in advance, so data would be packet in the same page. Sending zero-copy from userspace memory does not suffer with any such problem. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 9/9] net: vm deadlock avoidance core

2007-01-18 Thread Evgeniy Polyakov
rocessed incoming > > packet yet, so it can not generate correct ACK for received frame at > > all. And it seems that the only purpose of the whole patchset is to > > generate that poor ack - reseve 2007 ack packets (MAX_TCP_HEADER) > > in system startup and reuse them when you are under memory pressure. > > Right, I suspected something like that; hence I wanted to just shrink > the window. Anyway, this is not a very important issue. tcp_enter_quickack_mode() does not update window, it allows to send ack immediately after packet has been processed, window can be changed in any way TCP state machine and congestion control want. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [take33 10/10] kevent: Kevent based AIO (aio_sendfile()/aio_sendfile_path()).

2007-01-17 Thread Evgeniy Polyakov
less than microsecond syscall overhead it is better and more flexible solution, doesn't it? I'm not saying - 'no, there will not be any *v variants', just getting more info. > Regards > Suparna -- Evgeniy Polyakov - To unsubscribe from this list: send the line

[take33 10/10] kevent: Kevent based AIO (aio_sendfile()/aio_sendfile_path()).

2007-01-16 Thread Evgeniy Polyakov
ation become more clear. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/bio.c b/fs/bio.c index 7618bcb..291e7e8 100644 --- a/fs/bio.c +++ b/fs/bio.c @@ -120,7 +120,7 @@ void bio_free(struct bio *bio, struct bio_set *bio_set) /* * default destructor for a bio allocate

[take33 5/10] kevent: Timer notifications.

2007-01-16 Thread Evgeniy Polyakov
nanoseconds Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_timer.c b/kernel/kevent/kevent_timer.c new file mode 100644 index 000..c21a155 --- /dev/null +++ b/kernel/kevent/kevent_timer.c @@ -0,0 +1,114 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov &

[take33 7/10] kevent: Signal notifications.

2007-01-16 Thread Evgeniy Polyakov
mm_release()? diff --git a/kernel/kevent/kevent_signal.c b/kernel/kevent/kevent_signal.c new file mode 100644 index 000..abe3972 --- /dev/null +++ b/kernel/kevent/kevent_signal.c @@ -0,0 +1,94 @@ +/* + * kevent_signal.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + *

[take33 8/10] kevent: Kevent posix timer notifications.

2007-01-16 Thread Evgeniy Polyakov
Kevent posix timer notifications. Simple extensions to POSIX timers which allows to deliver notification of the timer expiration through kevent queue. Example application posix_timer.c can be found in archive on project homepage. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff

[take33 9/10] kevent: Private userspace notifications.

2007-01-16 Thread Evgeniy Polyakov
Private userspace notifications. Allows to register notifications of any private userspace events over kevent. Events can be marked as readt using kevent_ctl(KEVENT_READY) command. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_unotify.c b/kernel/

[take33 4/10] kevent: Socket notifications.

2007-01-16 Thread Evgeniy Polyakov
found on project's homepage. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/inode.c b/fs/inode.c index bf21dc6..82817b1 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -21,6 +21,7 @@ #include #include #include +#include #include /* @@ -164,12 +165,18 @@ sta

[take33 0/10] kevent: Generic event handling mechanism.

2007-01-16 Thread Evgeniy Polyakov
int fd, unsigned int min_nr, unsigned int max_nr, unsigned int timeout, void __user *buf, unsigned flags) - use old syscall kevent_ctl for creation/removing, modification and initial kevent initialization - use mutuxes instead of semaphores - added file descriptor

[take33 1/10] kevent: Description.

2007-01-16 Thread Evgeniy Polyakov
Description. diff --git a/Documentation/kevent.txt b/Documentation/kevent.txt new file mode 100644 index 000..87a1ba9 --- /dev/null +++ b/Documentation/kevent.txt @@ -0,0 +1,268 @@ +Description. + +int kevent_init(struct kevent_ring *ring, unsigned int ring_size, + unsigned int flags)

[take33 3/10] kevent: poll/select() notifications.

2007-01-16 Thread Evgeniy Polyakov
rn spinlock_t files_lock; diff --git a/kernel/kevent/kevent_poll.c b/kernel/kevent/kevent_poll.c new file mode 100644 index 000..58129fa --- /dev/null +++ b/kernel/kevent/kevent_poll.c @@ -0,0 +1,234 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved

[take33 6/10] kevent: Pipe notifications.

2007-01-16 Thread Evgeniy Polyakov
00644 index 000..91dc1eb --- /dev/null +++ b/kernel/kevent/kevent_pipe.c @@ -0,0 +1,123 @@ +/* + * kevent_pipe.c + * + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + *

Re: [PATCH 9/9] net: vm deadlock avoidance core

2007-01-16 Thread Evgeniy Polyakov
On Tue, Jan 16, 2007 at 05:08:15PM +0100, Peter Zijlstra ([EMAIL PROTECTED]) wrote: > On Tue, 2007-01-16 at 18:33 +0300, Evgeniy Polyakov wrote: > > On Tue, Jan 16, 2007 at 02:47:54PM +0100, Peter Zijlstra ([EMAIL > > PROTECTED]) wrote: > > > > > +

Re: [PATCH 9/9] net: vm deadlock avoidance core

2007-01-16 Thread Evgeniy Polyakov
EMALLOC, and clone that flag on forks and other relatest calls without all that checks for 'current' in different places. > > > +} > > > + > > > /* > > > * From tcp_input.c > > > */ > > > @@ -1654,6 +1670,15 @@ int tcp_v4

Re: [PATCH 9/9] net: vm deadlock avoidance core

2007-01-16 Thread Evgeniy Polyakov
= NET_IPV4_TCP_TIMESTAMPS, > @@ -291,7 +303,7 @@ ctl_table ipv4_table[] = { > .data = &sysctl_ipfrag_high_thresh, > .maxlen = sizeof(int), > .mode = 0644, > - .proc_handler = &proc_dointvec > + .proc_handler

Re: [PATCH -mm 2/10][RFC] aio: net use struct socket for io

2007-01-16 Thread Evgeniy Polyakov
ion is, what next - how network AIO will be implemented? -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Kevent bonus: epoll implementaion over kevent.

2007-01-10 Thread Evgeniy Polyakov
As a usage scenario, compile-tested only. Replace fs/eventpoll.c with this code and see, how your kernel crashes. Or works. :) Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> #include #include #include #include #include #include #include #include #include #include asmlinkag

Re: [take32 0/10] kevent: Generic event handling mechanism.

2007-01-10 Thread Evgeniy Polyakov
ut without new features implemented (or as addon), only bugfixes. > Jeff > -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [take32 0/10] kevent: Generic event handling mechanism.

2007-01-10 Thread Evgeniy Polyakov
d english with russian transliterated indecent words? > I like the direction so far, and think it should be in -mm for wider > testing and review. It was there, but Andrew dropped it somewhere about take25 :) > Jeff -- Evgeniy Polyakov - To unsubscribe from this l

[take32 10/10] kevent: Kevent based AIO (aio_sendfile()).

2007-01-10 Thread Evgeniy Polyakov
re clear. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/fs/bio.c b/fs/bio.c index 7618bcb..291e7e8 100644 --- a/fs/bio.c +++ b/fs/bio.c @@ -120,7 +120,7 @@ void bio_free(struct bio *bio, struct bio_set *bio_set) /* * default destructor for a bio allocated with bio_allo

[take32 0/10] kevent: Generic event handling mechanism.

2007-01-10 Thread Evgeniy Polyakov
ed int max_nr, unsigned int timeout, void __user *buf, unsigned flags) - use old syscall kevent_ctl for creation/removing, modification and initial kevent initialization - use mutuxes instead of semaphores - added file descriptor check and return error if provided descriptor does not match kevent file operations - various indent fixes - removed aio_sendfile() declarations. Thank you. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

[take32 1/10] kevent: Description.

2007-01-10 Thread Evgeniy Polyakov
Description. diff --git a/Documentation/kevent.txt b/Documentation/kevent.txt new file mode 100644 index 000..325204f --- /dev/null +++ b/Documentation/kevent.txt @@ -0,0 +1,259 @@ +Description. + +int kevent_init(struct kevent_ring *ring, unsigned int ring_size, + unsigned int flags)

[take32 9/10] kevent: Private userspace notifications.

2007-01-10 Thread Evgeniy Polyakov
Private userspace notifications. Allows to register notifications of any private userspace events over kevent. Events can be marked as readt using kevent_ctl(KEVENT_READY) command. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> diff --git a/kernel/kevent/kevent_unotify.c b/kernel/

[take32 3/10] kevent: poll/select() notifications.

2007-01-10 Thread Evgeniy Polyakov
rn spinlock_t files_lock; diff --git a/kernel/kevent/kevent_poll.c b/kernel/kevent/kevent_poll.c new file mode 100644 index 000..58129fa --- /dev/null +++ b/kernel/kevent/kevent_poll.c @@ -0,0 +1,234 @@ +/* + * 2006 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]> + * All rights reserved

<    1   2   3   4   5   6   7   8   9   10   >