compiler: add __hot attribute

This instructs the compiler to better optimize the config parsing code. Signed-off-by: 's avatarChristian Brauner <christian.brauner@ubuntu.com>
parent 0b35ed87
...@@ -54,6 +54,10 @@ ...@@ -54,6 +54,10 @@
# endif # endif
#endif #endif
#ifndef __hot
# define __hot __attribute__((hot))
#endif
#define __cgfsng_ops #define __cgfsng_ops
#endif /* __LXC_COMPILER_H */ #endif /* __LXC_COMPILER_H */
...@@ -70,12 +70,13 @@ ...@@ -70,12 +70,13 @@
lxc_log_define(confile, lxc); lxc_log_define(confile, lxc);
#define lxc_config_define(name) \ #define lxc_config_define(name) \
static int set_config_##name(const char *, const char *, \ __hot static int set_config_##name(const char *, const char *, \
struct lxc_conf *, void *); \ struct lxc_conf *, void *); \
static int get_config_##name(const char *, char *, int, \ __hot static int get_config_##name(const char *, char *, int, \
struct lxc_conf *, void *); \ struct lxc_conf *, void *); \
static int clr_config_##name(const char *, struct lxc_conf *, void *); __hot static int clr_config_##name(const char *, struct lxc_conf *, \
void *);
lxc_config_define(autodev); lxc_config_define(autodev);
lxc_config_define(apparmor_allow_incomplete); lxc_config_define(apparmor_allow_incomplete);
......
...@@ -26,16 +26,18 @@ ...@@ -26,16 +26,18 @@
#include <stdio.h> #include <stdio.h>
#include <sys/types.h> #include <sys/types.h>
#include "compiler.h"
typedef int (*lxc_dir_cb)(const char *name, const char *directory, typedef int (*lxc_dir_cb)(const char *name, const char *directory,
const char *file, void *data); const char *file, void *data);
typedef int (*lxc_file_cb)(char *buffer, void *data); typedef int (*lxc_file_cb)(char *buffer, void *data);
extern int lxc_file_for_each_line(const char *file, lxc_file_cb callback, __hot extern int lxc_file_for_each_line(const char *file, lxc_file_cb callback,
void* data); void *data);
extern int lxc_file_for_each_line_mmap(const char *file, lxc_file_cb callback, __hot extern int lxc_file_for_each_line_mmap(const char *file,
void *data); lxc_file_cb callback, void *data);
/* mmap() wrapper. lxc_strmmap() will take care to \0-terminate files so that /* mmap() wrapper. lxc_strmmap() will take care to \0-terminate files so that
* normal string-handling functions can be used on the buffer. */ * normal string-handling functions can be used on the buffer. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment