瀏覽代碼

fanotify: use __aligned_u64 in fanotify userspace metadata

Currently the userspace struct exposed by fanotify uses
__attribute__((packed)) to make sure that alignment works on multiarch
platforms.  Since this causes a severe performance penalty on some
platforms we are going to switch to using explicit alignment notation on
the 64bit values so we don't have to use 'packed'

Signed-off-by: Eric Paris <eparis@redhat.com>
Eric Paris 15 年之前
父節點
當前提交
2868201965
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      include/linux/fanotify.h

+ 2 - 2
include/linux/fanotify.h

@@ -79,10 +79,10 @@
 struct fanotify_event_metadata {
 struct fanotify_event_metadata {
 	__u32 event_len;
 	__u32 event_len;
 	__u32 vers;
 	__u32 vers;
-	__u64 mask;
+	__aligned_u64 mask;
 	__s32 fd;
 	__s32 fd;
 	__s32 pid;
 	__s32 pid;
-} __attribute__ ((packed));
+};
 
 
 struct fanotify_response {
 struct fanotify_response {
 	__s32 fd;
 	__s32 fd;