Re: [PATCH] mm: cleanup swap unused warning



On Wednesday 10 May 2006 21:38, Andrew Morton wrote:
Con Kolivas <kernel@xxxxxxxxxxx> wrote:
Are there any users of swp_entry_t when CONFIG_SWAP is not defined?

Well there shouldn't be. Making accesses to swp_entry_t.val fail to
compile if !CONFIG_SWAP might be useful.

+/*
+ * A swap entry has to fit into a "unsigned long", as
+ * the entry is hidden in the "index" field of the
+ * swapper address space.
+ */
+#ifdef CONFIG_SWAP
typedef struct {
unsigned long val;
} swp_entry_t;
+#else
+typedef struct {
+ unsigned long val;
+} swp_entry_t __attribute__((__unused__));
+#endif

We have __attribute_used__, which hides a gcc oddity.

I tried that.

In file included from arch/i386/mm/pgtable.c:11:
include/linux/swap.h:82: warning: ‘__used__’ attribute ignored
In file included from include/linux/suspend.h:8,
from init/do_mounts.c:7:
include/linux/swap.h:82: warning: ‘__used__’ attribute ignored
In file included from arch/i386/mm/init.c:22:
include/linux/swap.h:82: warning: ‘__used__’ attribute ignored
AS arch/i386/kernel/vsyscall-sysenter.o

etc..

and doesn't fix the warning in vmscan.c. __attribute_used__ is handled
differently by gcc4 it seems (this is 4.1.0)

--
-ck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [PATCH] mm: cleanup swap unused warning
    ... Making accesses to swp_entry_t.val fail to ... compile if!CONFIG_SWAP might be useful. ...
    (Linux-Kernel)
  • Re: Declaring functions from an external dll
    ... typedef struct CRYPT_STREAM *MCRYPT; ... that (does not want to compile or run). ... the main idl to create one file at compile time. ... Then backup, backup, backup, and expect GPFs. ...
    (microsoft.public.vb.winapi)
  • Re: m68knommu compile error
    ... compile all the way through. ... With the patch it did fail with a different ... typedef struct pgd_t; ... typedef struct {unsigned long pgprot;} pgprot_t; ...
    (Linux-Kernel)
  • [PATCH] mm: cleanup swap unused warning
    ... This patch fixes a warning for!CONFIG_SWAP for me. ... * swapper address space. ... More majordomo info at http://vger.kernel.org/majordomo-info.html ...
    (Linux-Kernel)
  • Re: why char cast to int become strange ?
    ... int iINT; ... This doesn't compile for me. ... With sufficient thrust, pigs fly just fine. ...
    (microsoft.public.vc.language)