netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sergey Popovich <popovich_sergei@mail.ua>
To: netfilter-devel@vger.kernel.org
Subject: ipset: Proposed improvements to the kernel code
Date: Mon, 16 Mar 2015 15:29:01 +0200	[thread overview]
Message-ID: <2984705.dCFJb2qqrb@tuxracer> (raw)


Hello community.

I have a lot of changes to the kernel code of ipset subsystem for current
nf-next (and upstream kernel therefore) split into the following major
categories in order I wish to supply them to the upstream.

  * Bugfixes
      There is not too much, but exists in upstream, few of which is stability
      critical.

  * Code cleanups
      Changes to make code more readable, and other things.

  * Improvements to the ipset core set/type/variant 
    registration/deregistration and other parts of the core.
     
  * Improvements for bitmap:* set types where two variants implemented:
    one for set without extensions and another for set with extensions.

  * Improvements for hash:*, where hash buckets still stores array
    of set elements, but all element iterations is done via bitmap using
    ffs()/ffz(). There is no error prone memcpy() of elements within bucket.

  * Improvements for list:set, where main change is to move to the
    standard linux linked lists implementation.

  * Improve counters extension implementation to move from
    atomic64_t variables used to store statistics to per-CPU variables.

All of these changes are made with primary goal in mind: prepare
code for conversion from read/write locking to the RCU.

Currently my patch series consists of nearly 170 patches. I wish to
supply each of them divided into categories I described above.

I choose to send patches against current nf-next instead of
ipset upstream as last one seems already constains some attempts
to implement RCU in the ipset. On this mailing list I found discussion
about some weakness in proposed RCU implementation.

I think my implementation after all code prepare is ready for review.

All commits contains meaningful descriptions (I hope) and code
is well commented where it is really necessary.

Main development is done for 3.2.x series of kernel, and adopted
to the current upstream (actually cosmetics changes to apply patches).

As userspace ipset 6.23 utility is used and all changes does not
include any kernel<->user space API/ABI breaks.

Tests are performed on both 32/64 bit arches with kernel compiled
for debugging running ipset regression test suite. Only i386/x86_64 
architectures are used for tests.

Thanks for your patience for reading this, please take time to review
and possibly accept my work.

-- 
SP5474-RIPE
Sergey Popovich


             reply	other threads:[~2015-03-16 14:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-16 13:29 Sergey Popovich [this message]
2015-03-16 19:30 ` ipset: Proposed improvements to the kernel code Jozsef Kadlecsik
2015-03-17  4:46   ` Sergey Popovich
2015-03-17 12:31     ` Jozsef Kadlecsik
2015-03-17 13:23       ` Sergey Popovich
2015-03-17 14:45         ` Jozsef Kadlecsik
2015-03-17 18:59           ` Sergey Popovich
2015-03-18 19:59             ` Jozsef Kadlecsik
2015-03-25 14:54             ` Sergey Popovich
2015-03-25 16:05               ` Pablo Neira Ayuso
2015-03-25 16:11                 ` Sergey Popovich
2015-03-26 11:26                   ` Pablo Neira Ayuso
2015-03-26 22:10               ` Jozsef Kadlecsik
2015-03-27  7:41                 ` Sergey Popovich
2015-03-28 20:44                   ` Jozsef Kadlecsik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2984705.dCFJb2qqrb@tuxracer \
    --to=popovich_sergei@mail.ua \
    --cc=netfilter-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).