On Thursday 2009-06-04 15:16, Patrick McHardy wrote: > Evgeniy Polyakov wrote: >> On Thu, Jun 04, 2009 at 02:11:24PM +0200, Patrick McHardy (kaber@xxxxxxxxx) >> wrote: >>> Thats not what I meant. struct xt_match_param is passed to the >>> ->match() callbacks from *t_do_table(). This is where you can >>> add the real hook number to have it available in ->match(). >>> >>> (Forgot to mention earlier: please in a seperate patch and adjusting >>> all *tables copies) >> >> Kind of this (for ipv4 only so far, also reorderd a field to fill the >> gap): > > Exactly. But please verify that by reordering, you're not moving > the more commonly used members out of the first cacheline. > I am not sure the struct was ordered for optimized cacheline performance beforehand either. * par->in, par->out is only rarely used (think of xt_physdev, besides ipt_do_table itself); * par->match similarly (xt_hashlimit) * par->matchinfo, though showing more grep results, is usually copied to the stack by means of struct foo_target_info *info = par->matchinfo; etc. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html