TIPS/C/メモリのALIGN方法

Last-modified: 2006-11-21 (火) 12:44:51

TIPS/C

#define NETDEV_ALIGN        32
#define NETDEV_ALIGN_CONST  (NETDEV_ALIGN - 1)
   alloc_size = (sizeof(struct net_device) + NETDEV_ALIGN_CONST)
           & ~NETDEV_ALIGN_CONST;
   p = kmalloc (alloc_size, GFP_KERNEL);

上記にすることで、32のALIGNのサイズでメモリをアロックする
alloc_sizeは、必要なサイズ(上記ではsizeof(struct net_device))と同じか
大きくなる

  • 32のALIGNでぴったりの場合は同じサイズになる
  • ぴったりでない場合は、次の32の倍数分になる