• Hideo Aoki's avatar
    [NET] CORE: Introducing new memory accounting interface. · 3ab224be
    Hideo Aoki authored
    
    
    This patch introduces new memory accounting functions for each network
    protocol. Most of them are renamed from memory accounting functions
    for stream protocols. At the same time, some stream memory accounting
    functions are removed since other functions do same thing.
    
    Renaming:
    	sk_stream_free_skb()		->	sk_wmem_free_skb()
    	__sk_stream_mem_reclaim()	->	__sk_mem_reclaim()
    	sk_stream_mem_reclaim()		->	sk_mem_reclaim()
    	sk_stream_mem_schedule 		->    	__sk_mem_schedule()
    	sk_stream_pages()      		->	sk_mem_pages()
    	sk_stream_rmem_schedule()	->	sk_rmem_schedule()
    	sk_stream_wmem_schedule()	->	sk_wmem_schedule()
    	sk_charge_skb()			->	sk_mem_charge()
    
    Removeing
    	sk_stream_rfree():	consolidates into sock_rfree()
    	sk_stream_set_owner_r(): consolidates into skb_set_owner_r()
    	sk_stream_mem_schedule()
    
    The following functions are added.
        	sk_has_account(): check if the protocol supports accounting
    	sk_mem_uncharge(): do the opposite of sk_mem_charge()
    
    In addition, to achieve consolidation, updating sk_wmem_queued is
    removed from sk_mem_charge().
    
    Next, to consolidate memory accounting functions, this patch adds
    memory accounting calls to network core functions. Moreover, present
    memory accounting call is renamed to new accounting call.
    
    Finally we replace present memory accounting calls with new interface
    in TCP and SCTP.
    Signed-off-by: default avatarTakahiro Yasui <tyasui@redhat.com>
    Signed-off-by: default avatarHideo Aoki <haoki@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3ab224be